Keressünk "kifejezéseket" egy adott karakterláncon belül.
Utolsó felülvizsgálat: 2022.02.04 16:50
A String substring()
függvénye szorosan kapcsolódik a charAt()
, startsWith()
és endsWith()
függvényekhez. Lehetővé teszi egy adott részkarakterlánc egy példányának megkeresését egy adott karakterláncon belül.
Hardver szükséglet
Arduino kártya
Az áramkör
Ebben a példában nincs áramkör, bár a kártyát USB-n keresztül kell csatlakoztatni a számítógéphez, és az Arduino Software (IDE) soros monitor ablakának nyitva kell lennie.

A kód
A substring()
csak egy paraméterrel keres egy adott részkarakterláncot a megadott pozíciótól a karakterlánc végéig. Azt várja, hogy az alkarakterlánc egészen a karakterlánc végéig terjedjen. Például:
String stringOne = "Content-Type: text/html";
// A substring(index) az index pozíciójától a végéig keresi az alkarakterláncot:
if (stringOne.substring(19) == "html") {
}
igaz, míg
String stringOne = "Content-Type: text/html";
// A substring(index) az index pozíciójától a végéig keresi az alkarakterláncot:
if (stringOne.substring(19) == "htm") {
}
nem igaz, mert a karakterláncban a htm
után egy l
van.
A substring()
két paraméterrel egy adott részstringet keres az első paramétertől a másodikig. Például:
String stringOne = "Content-Type: text/html";
// egy karakterlánc közepén is kereshet egy részkarakterláncot:
if (stringOne.substring(14,18) == "text") {
}
Ez a text
szót keresi a karakterláncban a 14-től 18-ig terjedő pozícióban.
Vigyázat: győződjön meg arról, hogy az index értéke a karakterlánc hosszán belül van, különben megjósolhatatlan eredményeket kap. Ezt a fajta hibát különösen nehéz megtalálni a substring()
második példánál, ha a kezdőpozíció kisebb, mint a karakterlánc hossza, de a végpozíció nem.
/*
String substring()
Példák az alkarakterlánc használatára egy karakterláncban
created 27 Jul 2010,
modified 2 Apr 2012
by Zach Eveland
Ez a kód nyilvános.
https://docs.arduino.cc/built-in-examples/strings/StringSubstring
*/
void setup() {
// Nyissa meg a soros kommunikációt, és várja meg, amíg megnyílik a port:
Serial.begin(9600);
while (!Serial) {
; // várja meg a soros port csatlakozását. Csak a natív USB-porthoz szükséges
}
// küldj bevezetőt:
Serial.println("\n\nString substring():");
Serial.println();
}
void loop() {
// a String beállítása:
String stringOne = "Content-Type: text/html";
Serial.println(stringOne);
// A substring(index) az index pozíciójától a végéig keresi az alkarakterláncot:
if (stringOne.substring(19) == "html") {
Serial.println("It's an html file");
}
// egy karakterlánc közepén is kereshet egy részkarakterláncot:
if (stringOne.substring(14, 18) == "text") {
Serial.println("It's a text-based file");
}
// ne csinálj semmit, amíg igaz:
while (true);
}
Tudj meg többet
További alapvető oktatóanyagokat a beépített példák részben talál.
Felfedezheti a nyelvi referenciát is, az Arduino programozási nyelv részletes gyűjteményét.