StringSubstring

String işlevi substring() , charAt() , startsWith() ve endsWith() ile yakından ilişkilidir. Belirli bir Dize içindeki belirli bir alt dizenin bir örneğini aramanızı sağlar.

Gerekli Donanım

  • Arduino veya Genuino Kurulu

Devre

Bu örnek için devre yoktur, ancak kartınızın bilgisayarınıza USB ile bağlanması ve Arduino Yazılımının (IDE) seri monitör penceresinin açık olması gerekir.

Kod

yalnızca bir parametreli substring() , dizenin sonuna verilen konumdan belirli bir alt dizeyi arar. Alt dizenin Dize sonuna kadar uzanmasını bekler. Örneğin:

String stringOne = "Content-Type: text/html"; // substring(index) looks for the substring from the index position to the end: if (stringOne.substring(19) == "html") { }

doğru

String stringOne = "Content-Type: text/html"; // substring(index) looks for the substring from the index position to the end: if (stringOne.substring(19) == "htm") { }

doğru değil, çünkü String'de htm sonra bir l var.

iki parametreli substring() , birinci parametreden ikinciye belirli bir alt dizeyi arar. Örneğin:

String stringOne = "Content-Type: text/html"; // you can also look for a substring in the middle of a string: if (stringOne.substring(14,18) == "text") { }

Bu, Dize'nin 14 ila 18 arasındaki konumlarından text kelimesini arar.

Dikkat: Dizin değerlerinizin Dize uzunluğu içinde olduğundan emin olun, aksi takdirde tahmin edilemeyen sonuçlar elde edersiniz. Bu tür bir hata, başlangıç konumu Dizgenin uzunluğundan küçükse, ancak bitiş konumu değilse ikinci substring() örneğinde bulmak zor olabilir.


/*
  String substring()

  Examples of how to use substring in a String

  created 27 Jul 2010,
  modified 2 Apr 2012
  by Zach Eveland

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/StringSubstring
*/

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  // send an intro:
  Serial.println("\n\nString  substring():");
  Serial.println();
}

void loop() {
  // Set up a String:
  String stringOne = "Content-Type: text/html";
  Serial.println(stringOne);

  // substring(index) looks for the substring from the index position to the end:
  if (stringOne.substring(19) == "html") {
    Serial.println("It's an html file");
  }
  // you can also look for a substring in the middle of a string:
  if (stringOne.substring(14, 18) == "text") {
    Serial.println("It's a text-based file");
  }

  // do nothing while true:
  while (true);
}

See Also