Tư vấn: 0979.466.469 / 0938.128.290

MENU

So sánh chuỗi trong Arduino

Gia cong pcb 600*150px

Tìm hiểu cách so sánh chữ cái giữa các chuỗi sẽ hữu ích cho việc phân loại và sắp xếp thứ tự chữ cái, trong số những thứ khác.

 

Các toán tử so sánh chuỗi ==,! =,>, <,> =, <= Và các phương thức equals() và equalsIgnoreCase() cho phép bạn so sánh theo thứ tự bảng chữ cái giữa các chuỗi, hữu ích cho việc phân loại và sắp xếp thứ tự bảng chữ cái, trong số những thứ khác.

 

Toán tử == và phương thức equals() hoạt động giống nhau. Nói cách khác

 

if (stringOne.equals(stringTwo)) {

 

giống hệt với

 

if (stringOne ==stringTwo) {

 

Toán tử ">" (lớn hơn) và "<" (nhỏ hơn) đánh giá các chuỗi theo thứ tự bảng chữ cái, trên ký tự đầu tiên mà cả hai khác nhau. Vì vậy, ví dụ "a" <"b" và "1" <"2", nhưng "999"> "1000" vì 9 đứng sau 1.

 

Chú ý: Các toán tử so sánh chuỗi có thể gây nhầm lẫn khi bạn so sánh các chuỗi số, vì các số được coi là chuỗi chứ không phải số. Nếu bạn cần so sánh các số, hãy so sánh chúng dưới dạng int, float hoặc long, chứ không phải dưới dạng chuỗi string.

 

Ví dụ so sánh chuỗi sử dụng toán tử so sánh

 

String stringOne, stringTwo;

 

void setup() {

  // Mở giao tiếp serial và đợi cho cổng mở:

  Serial.begin(9600);

  while (!Serial) {

    ; // chờ cổng serial kết nối. Chỉ cần cho cổng USB gốc

  }



  stringOne = String("this");

  stringTwo = String("that");

  // gởi một intro:

  Serial.println(" Comparing Strings:");

  Serial.println();

 

}

 

void loop() {

  // hai chuỗi bằng nhau:

  if (stringOne == "this") {

    Serial.println("StringOne == "this"");

  }

  // hai chuỗi không bằng nhau:

  if (stringOne != stringTwo) {

    Serial.println(stringOne + " =! " + stringTwo);

  }

 

  // hai chuỗi không bằng nhau (vấn đề phân biệt chữ hoa chữ thường):

  stringOne = "This";

  stringTwo = "this";

  if (stringOne != stringTwo) {

    Serial.println(stringOne + " =! " + stringTwo);

  }

  // bạn cũng có thể sử dụng equals() để xem nếu hai chuỗi giống nhau:

  if (stringOne.equals(stringTwo)) {

    Serial.println(stringOne + " equals " + stringTwo);

  } else {

    Serial.println(stringOne + " does not equal " + stringTwo);

  }

 

  // hoặc nếu bạn muốn bỏ qua chữ hoa chữ thường:

  if (stringOne.equalsIgnoreCase(stringTwo)) {

    Serial.println(stringOne + " equals (ignoring case) " + stringTwo);

  } else {

    Serial.println(stringOne + " does not equal (ignoring case) " + stringTwo);

  }

 

  // một chuỗi số so với số mà nó đại diện:

Quảng cáo đặt hàng nhập

  stringOne = "1";

  int numberOne = 1;

  if (stringOne.toInt() == numberOne) {

    Serial.println(stringOne + " = " + numberOne);

  }




  // hai chuỗi số được so sánh:

  stringOne = "2";

  stringTwo = "1";

  if (stringOne >= stringTwo) {

    Serial.println(stringOne + " >= " + stringTwo);

  }

 

  // toán tử so sánh cũng có thể được sử dụng để so sánh các chuỗi để sắp xếp theo bảng chữ cái:

  stringOne = String("Brown");

  if (stringOne < "Charles") {

    Serial.println(stringOne + " < Charles");

  }

 

  if (stringOne > "Adams") {

    Serial.println(stringOne + " > Adams");

  }

 

  if (stringOne <= "Browne") {

    Serial.println(stringOne + " <= Browne");

  }



  if (stringOne >= "Brow") {

    Serial.println(stringOne + " >= Brow");

  }

 

  // toán tử compareTo() cũng cho phép so sánh các chuỗi

  // nó đánh giá trên ký tự đầu tiên khác.

  // nếu ký tự đầu tiên của chuỗi mà bạn đang so sánh sẽ xuất hiện đầu tiên

  // thứ tự chữ và số, sau đó compareTo() lớn hơn 0:

  stringOne = "Cucumber";

  stringTwo = "Cucuracha";

  if (stringOne.compareTo(stringTwo) < 0) {

    Serial.println(stringOne + " comes before " + stringTwo);

  } else {

    Serial.println(stringOne + " comes after " + stringTwo);

  }

 

  delay(10000);  // bởi vì phần kế tiếp là một vòng lặp:

 

  // compareTo() rất hữu ích khi bạn có các chuỗi với số ở bên trong:

 

  while (true) {

    stringOne = "Sensor: ";

    stringTwo = "Sensor: ";

 

    stringOne += analogRead(A0);

    stringTwo += analogRead(A5);

 

    if (stringOne.compareTo(stringTwo) < 0) {

      Serial.println(stringOne + " comes before " + stringTwo);

    } else {

      Serial.println(stringOne + " comes after " + stringTwo);

 

    }

  }

}



Gia công pcb 932*150
Sản phẩm nổi bật
Sale 0%
145000 /Cái
/ Cái

Code: M-7006-010 Còn hàng

Lưu xem sau
Sale 0%
39000 - 45000 /Cái
/ Cái

Code: 7202-065 Còn hàng

Lưu xem sau
Sale 0%
9000 /Sợi
/ Sợi

Code: M-7006-052 Còn hàng

Lưu xem sau
Sale 0%
60000 /Cái
/ Cái

Code: 7006-061 Còn hàng

Lưu xem sau
Hỗ trợ liên kết
0979466469
0899909838
0938128290
0899909838
Khiếu nại: 0964238397
0979466469
0868565469
0868565469

Hotline: 0979 466 469

Loading
0359 366 469
Bạn cần linh kiện mẫu ? 7-11 ngày