Arduino String(Dizi) startsWith() ve endsWith() Komutları
startsWith ve endsWith Komutları . String işlevleri startsWith()
ve endsWith()
, belirli bir String’in hangi karakterle veya alt dizeyle başladığını veya biteceğini kontrol etmenizi sağlar. Temel olarak özel substring
.
Donanım
- Arduino veya Genuino
“Arduino UNO, elektronik ve kodlamaya başlamak için en iyi tahtadır. Bu, platformla birlikte çalıştığınız ilk deneyiminizse, Arduino UNO, denemelere başlayabileceğiniz en iyi seçimdir. UNO, tüm Arduino ailesinin en çok kullanılan ve içeriği bulunan kartıdır.
Arduino Uno, ATmega328P tabanlı bir mikro denetleyici karttır. 14 adet dijital giriş / çıkış pini (6’sı PWM çıkışı olarak kullanılabilir), 6 analog giriş, 16 MHz kristali, bir USB bağlantısı, bir güç girişi, bir ICSP başlığı ve bir sıfırlama düğmesi vardır. Mikrodenetleyiciyi desteklemek için gereken her şeyi içerir; Başlamak için bir USB kablosuyla bir bilgisayara bağlayın ya da AC-DC adaptörü ya da pille çalıştırın. UNO’yu, yanlış bir şey yapmadan çok fazla endişe etmeden tamir edebilir, en kötü durum senaryosunu değiştirebilirsiniz. Birkaç dolara çip alır ve tekrar kullanabilirsiniz.”
Devre
Bu örnek için devre yoktur, kartınız USB üzerinden bilgisayara bağlanmalı ve Arduino Yazılımının (IDE) seri monitör penceresi açık olmalıdır.
Kod
startsWith()
ve endsWith()
belirli bir mesaj başlığını veya String’in sonunda tek bir karakter aramak için kullanılabilir. Belirli bir konumda başlayan bir alt dizgi aramak için bir ofset ile de kullanılabilirler. Örneğin:
stringOne = "HTTP / 1.1 200 OK"; if (stringOne.startsWith ("200 OK", 9)) { Serial.println ("Sunucudan bir sorun var"); }
Bu, fonksiyonel olarak aynıdır:
stringOne = "HTTP / 1.1 200 OK"; if (stringOne.substring (9) == "200 OK") { Serial.println ("Sunucudan bir sorun var"); }
Dikkat: Dizin aralığının dışında bir konum ararsanız, tahmin edilemez sonuçlar elde edersiniz. Örneğin, yukarıdaki örnekte, stringOne.startsWith (“200 OK”, 16) String’in kendisine karşı kontrol etmeyecekti, ancak bunun hemen ötesindeki bellekte ne varsa. En iyi sonucu elde etmek için, kullandığınız dizin değerlerinin, startsWith
ve endsWith
ile, 0 ile endsWith
length()
arasında olduğundan emin olun.
/* Dize startWith () ve endsWith () String'te startWith () ve endsWith () işlevlerinin nasıl kullanılacağı ile ilgili ö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/StringStartsWithEndsWith */ 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\nString startsWith() ve endsWith():"); Serial.println(); } void loop() { // startsWith() bir String'in belirli bir alt dizeyle başlayıp başlamadığını kontrol eder: String stringOne = "HTTP/1.1 200 OK"; Serial.println(stringOne); if (stringOne.startsWith("HTTP/1.1")) { Serial.println("Sunucu, http sürüm 1.1 kullanıyor"); } // Ayrıca, dizgedeki bir ofset konumunda startsWith() öğesini de arayabilirsiniz: stringOne = "HTTP/1.1 200 OK"; if (stringOne.startsWith("200 OK", 9)) { Serial.println("Sunucudan bir sorun var"); } // endsWith() bir String'in belirli bir karakterle bitip bitmediğini kontrol eder: String sensorReading = "sensörr = "; sensorReading += analogRead(A0); Serial.print(sensorReading); if (sensorReading.endsWith("0")) { Serial.println(". Bu okuma on ile bölünebilir"); } else { Serial.println(". Bu okuma on ile bölünemez"); } // true iken hiçbir şey yapmayın: while (true); }
Kaynak:arduino.cc startsWith ve endsWith Komutları