Arduino:
部分文字列の抽出
How to: (方法)
String text = "Arduino programming is fun!";
String subText = text.substring(17, 20);
void setup() {
Serial.begin(9600);
Serial.println(subText); // Prints "fun"
}
void loop() {
// Nothing here for now.
}Deep Dive (深掘り)
Arduino言語ではStringクラスの.substring()メソッドを使って文字列から部分文字列を抜き取ります。この機能はJava言語由来で、プログラミング初期からある概念です。代替手段として、Cスタイルの文字配列と関数(strncpy()など)を使う方法がありますが、作業はより複雑です。Stringクラスが導入されたことで、高レベルの操作が簡単になりました。しかし、Stringを使うとメモリフラグメンテーションの可能性が増えるため、メモリ使用には注意が必要です。
See Also (関連情報)
- Arduino公式リファレンス:
String.substring()に関する詳細 - https://www.arduino.cc/reference/en/language/variables/data-types/string/functions/substring/ - 同様の操作を行うC言語関数に関する詳細 - http://www.cplusplus.com/reference/cstring/strncpy/
- 文字列操作についての一般的なチュートリアル - https://www.learncpp.com/cpp-tutorial/c-style-strings/