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 та візьміть контроль з вашою власною логікою перетворення в нижній регістр.
Дивіться також
- Сторінка посилання
StringArduino: 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