Arduino String(Dizi) replace() Komutu
String replace()
işlevi, belirli bir karakterin tüm örneklerini başka bir karakterle değiştirmenize izin verir. Ayrıca, bir String’in alt dizelerini farklı bir alt dizeyle replace
için de kullanabilirsiniz.
Donanım
- Arduino veya Genuino
Devre
Bu örnek için devre yoktur, kartınızın USB üzerinden bilgisayara bağlı olması ve Arduino Yazılımının (IDE) seri monitör penceresi açık olmalıdır.
Kod
Dikkat: Tüm String’in kendisinden daha fazla olan bir substring değiştirmeye çalışırsanız, hiçbir şey değiştirilmez. Örneğin:
String stringOne = "<html> <head> <body>"; String stringTwo = stringOne.replace ("<html> <head> </ head> <body> </ body> </ html>", "Blah");
Bu durumda, kod derlenecek, ancak stringOne
değişmeyecektir, çünkü yedek substring String’in kendisinden daha fazladır.
/* Dize değiştir () String'in karakterlerinin veya alt dizelerinin nasıl değiştirileceğine dair örnekler oluşturuldu 27 Tem 2010 değiştirilme tarihi 2 Nis 2012 Tom Igoe tarafından Bu örnek kod kamu malıdır. http://www.arduino.cc/en/Tutorial/StringReplace */ void setup() { // Seri haberleşmeyi açın ve bağlantı noktasının açılmasını bekleyin: Serial.begin(9600); while (!Serial) { ; // bağlanmak için seri portu bekleyin. Sadece yerel USB bağlantı noktası için gerekli } // bir giriş gönderin: Serial.println("\n\nDize değiştir:\n"); Serial.println(); } void loop() { String stringOne = "<html><head><body>"; Serial.println(stringOne); // replace (), bir alt dizinin tüm örneklerini başka biriyle değiştirir: // önce, orijinal dizenin bir kopyasını yapın: String stringTwo = stringOne; // sonra değiştirmeleri yapın: stringTwo.replace("<", "</"); // orijinali yazdır: Serial.println("Orjinal string: " + stringOne); // ve değiştirilmiş dize yazdırın: Serial.println("Değiştirilmiş string: " + stringTwo); // Ayrıca, replace() karakterlerini tek karakterler üzerinde de kullanabilirsiniz: String normalString = "bookkeeper"; Serial.println("normal: " + normalString); String leetString = normalString; leetString.replace('o', '0'); leetString.replace('e', '3'); Serial.println("l33tspeak: " + leetString); // true iken hiçbir şey yapmayın: while (true); }
Kaynak:arduino.cc