Arduino:
Преобразование строки в нижний регистр
Как это сделать:
Объект String
в Arduino имеет удобный метод toLowerCase()
. Вызовите его для вашей строки, и вот она, теперь в нижнем регистре.
void setup() {
Serial.begin(9600);
String message = "Hello, World!";
message.toLowerCase();
Serial.println(message); // Выводит: hello, world!
}
void loop() {
// Здесь делать нечего.
}
Запустите ваш Серийный Монитор, и вы увидите, что выводится “hello, world!”.
Погружение в Детали
Исторически обработка текста часто включала в себя учет верхнего и нижнего регистра. Операции ввода данных, поиска и сортировки обычно игнорируют регистр, чтобы уменьшить количество ошибок пользователей и повысить надежность. В других языках, например, в C, вы бы итерировали каждый символ и преобразовывали их индивидуально, используя стандартные функции библиотеки. В мире Arduino объекты String
облегчают эту задачу за счет инкапсуляции функциональности.
Альтернативы? Конечно. Возможно, вы используете toLowerCase()
для массива char
, но вам придется пройтись по каждому символу и преобразовать его с помощью tolower()
из <ctype.h>
. Если вас беспокоит память и производительность, рассмотрите возможность использования массивов символов вместо объектов String
и возьмите под контроль собственную логику приведения к нижнему регистру.
Смотрите Также
- Страница справки Arduino о
String
: 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