Arduino:
Перетворення рядка у нижній регістр
Як це зробити:
Об’єкт String
в Arduino має зручний метод toLowerCase()
. Викличте його для вашого рядка, і ось воно, все в нижньому регістрі.
void setup() {
Serial.begin(9600);
String message = "Hello, World!";
message.toLowerCase();
Serial.println(message); // Виведе: hello, world!
}
void loop() {
// Тут нічого робити не потрібно.
}
Запустіть ваш Serial Monitor, і ви побачите “hello, world!” виведене на екран.
Поглиблений огляд
Історично, робота з текстом часто включала облік верхнього та нижнього регістру. Операції введення даних, пошуку та сортування зазвичай ігнорують регістр, щоб зменшити помилки користувача і збільшити надійність. В інших мовах, як-от C, ви б ітерували кожен символ і конвертували їх індивідуально, використовуючи стандартні функції бібліотеки. В Arduino об’єкти String
обгортають цю функціональність для спрощення використання.
Альтернативи? Звичайно. Ви могли б використовувати toLowerCase()
для масиву символів char
, але вам доведеться пройтися через кожен символ і конвертувати його за допомогою tolower()
з <ctype.h>
. Якщо вас турбують пам’ять та продуктивність, розгляньте можливість використання масивів символів замість об’єктів String
та візьміть контроль з вашою власною логікою перетворення в нижній регістр.
Дивіться також
- Сторінка посилання
String
Arduino: https://www.arduino.cc/reference/en/language/variables/data-types/stringobject/ - Бібліотека C++
<cctype>
для операцій з символами: http://www.cplusplus.com/reference/cctype/ - Щоб зрозуміти, як працює порівняння рядків і чому ігнорування регістра може бути важливим, погляньте на: https://en.wikipedia.org/wiki/String_(computer_science)#Comparison