Arduino:Примеры/StringCharacters: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 102: Строка 102:


<references />
<references />
{{Навигационная таблица/Справочник языка Arduino}}
{{Навигационная таблица/Портал/Arduino}}
{{Навигационная таблица/Arduino библиотеки}}
{{Навигационная таблица/Телепорт}}
[[Категория:Пример]]
[[Категория:Пример]]
[[Категория:Примеры]]
[[Категория:Примеры]]
[[Категория:Пример программирования Arduino]]
[[Категория:Пример программирования Arduino]]
[[Категория:Примеры программирования Arduino]]
[[Категория:Примеры программирования Arduino]]

Версия от 09:29, 24 февраля 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Строковые функции для работы с символами [1]

Строковые функции charAt() и setCharAt() используются для того, чтобы найти или задать значение для того или иного символа, находящегося в строке.

Чаще всего эти функции используются, чтобы помочь вам найти и поменять определенный символ. Например, нижеследующий код меняет символ «двоеточие» на символ «равно»:

String reportString = "SensorReading: 456";
int colonPosition = reportString.indexOf(':');
reportString.setCharAt(colonPosition, '=');

А вот другой пример. В нем ищется слово, первой буквой которого будет заглавная «B»:

String reportString = "Franklin, Benjamin";
int spacePosition = reportString.indexOf(' ');
if (reportString.charAt(spacePosition + 1) == 'B') {
    Serial.println("You might have found the Benjamins.")
}
Внимание! Если вы будете искать или вставлять значение, длина которого будет превышать длину строки, это может повлечь неожиданные результаты. Если не уверены, лучше проверьте длину стоки при помощи функции length().


Необходимое оборудование

Цепь

Для этого урока цепь выстраивать не нужно, просто подключите Arduino к компьютеру при помощи USB-соединения.

Рис. 1. Плата Arduino

Код

/*
  Строковые функции charAt() и setCharAt()
 
  Несколько примеров того, как искать и менять те или иные символы, находящиеся в строке.
 
 Создан 27 июля 2010,
 модифицирован 2 апреля 2012 Томом Иго (Tom Igoe).
 
 http://arduino.cc/en/Tutorial/StringCharacters
 
 Этот пример не защищен авторским правом.
 */

void setup() {
  // Инициализируем последовательную передачу данных и ждем открытия порта:
  Serial.begin(9600);
  while (!Serial) {
    ; // ждем подключения последовательного порта (нужно только для Leonardo)
  }

  Serial.println("\n\nString  charAt() and setCharAt():");
}

void loop() {
  // Создаем строку со значением, считанным с датчика:
  String reportString = "SensorReading: 456";
  Serial.println(reportString);

  // Самая важная цифра этой строки – на 15-ой позиции:
  char mostSignificantDigit = reportString.charAt(15);
  Serial.println("Most significant digit of the sensor reading is: " + mostSignificantDigit);

  // Добавляем пробел:
  Serial.println();

  // Мы также можем поменять символ в строке. Вместо «:» ставим «=»:
  reportString.setCharAt(13, '='); 
  Serial.println(reportString);

  // Пока условие верно, ничего не делаем:
  while(true);
}

См.также

  1. String object
  2. StringConstructors
  3. StringAdditionOperator
  4. StringIndexOf
  5. StringAppendOperator
  6. StringLengthTrim
  7. StringCaseChanges
  8. StringReplace
  9. StringCharacters
  10. StringStartsWithEndsWith
  11. StringComparisonOperators
  12. StringSubstring

Внешние ссылки