Arduino:Примеры/StringLengthTrim
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Строковые функции Length и Trim [1]
Функция length() позволяет рассчитать длину строки, а trim() – как бы обрезать ее, удалив те или иные символы. В данном примере показывается, как эти функции работают.
Необходимое оборудование
- Плата Arduino;
Цепь
Для этого примера цепь строить не нужно. Просто подключите Arduino к компьютеру (через USB).
Код
Функция length() возвращает значение с длиной строки. Этот метод может понадобиться во многих случаях. Например, вам нужно убедиться, что длина строки составляет не более 140 символов, чтобы уместить ее в текстовое сообщение. Это можно сделать следующим образом:
/*
Вычисление длины строки при помощи функции Length
Несколько примеров того, как функция length() может пригодиться при работе со строками.
Откройте окно Serial Monitor и начните отсылать символы, чтобы увидеть результат.
Создан 1 августа 2010 Томом Иго (Tom Igoe)
http://arduino.cc/en/Tutorial/StringLengthTrim
Этот код не защищен авторским правом.
*/
String txtMsg = ""; // строка для входящего текста
int lastStringLength = txtMsg.length(); // предыдущая длина строки
void setup() {
// Инициализируем последовательную передачу данных и ждем открытия порта:
Serial.begin(9600);
while (!Serial) {
; // ждем, когда подключится порт (требуется только для Leonardo)
}
// Отсылаем вступительную часть:
Serial.println("\n\nString length():");
Serial.println();
}
void loop() {
// Добавляем к строке все входящие символы:
while (Serial.available() > 0) {
char inChar = Serial.read();
txtMsg += inChar;
}
// Выводим сообщение и отмечаем, если оно изменилось:
if (txtMsg.length() != lastStringLength) {
Serial.println(txtMsg);
Serial.println(txtMsg.length());
// Если строка длиннее 140 символов, жалуемся:
if (txtMsg.length() < 140) {
Serial.println("That's a perfectly acceptable text message");
}
else {
Serial.println("That's too long for a text message.");
}
// Отмечаем длину строки для следующего прохода через цикл:
lastStringLength = txtMsg.length();
}
}
Функция trim() полезна, когда вы знаете, что на переднем или заднем краях строки разместилось несколько пробельных символов, и вы хотите от них избавиться. Пробельные символы – это те, которые занимают определенное место, но их не видно. В их число входят одинарный пробел (32 в ASCII-кодировке), Tab (9), вертикальный Tab (11), символ перевода страницы (12), символ разрыва строки (13) и символ новой строки (10). Пример ниже демонстрирует строку с пробельными символами – до и после «обрезки».
/*
Использование функций Length и Trim
Несколько примеров применения функций length() и trim() при работе со строками.
Создан 27 июля 2010,
Модифицирован 2 апреля 2012 Томом Иго (Tom Igoe).
http://arduino.cc/en/Tutorial/StringLengthTrim
Этот код не защищен авторским правом.
*/
void setup() {
// Инициализируем последовательную передачу данных и ждем, когда порт откроется:
Serial.begin(9600);
while (!Serial) {
; // ждем подключения последовательного порта (нужно только для Leonardo)
}
// Отсылаем вступительную часть:
Serial.println("\n\nString length() and trim():");
Serial.println();
}
void loop() {
// Задаем строку с пустыми символами в конце (т.е. с пробельными символами):
String stringOne = "Hello! ";
Serial.print(stringOne);
Serial.print("<--- end of string. Length: ");
Serial.println(stringOne.length());
// Делаем строке «обрезание»:
stringOne.trim();
Serial.print(stringOne);
Serial.print("<--- end of trimmed string. Length: ");
Serial.println(stringOne.length());
// Пока условие верно, ничего не делаем:
while(true);
}
См.также
- String object
- StringConstructors
- StringAdditionOperator
- StringIndexOf
- StringAppendOperator
- StringLengthTrim
- StringCaseChanges
- StringReplace
- StringCharacters
- StringStartsWithEndsWith
- StringComparisonOperators
- StringSubstring
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino