Главная chevron_right Функции chevron_right Символы chevron_right isAlpha()

isAlpha()

isAlpha(thisChar) проверяет, является ли символ латинской буквой, и возвращает true или false — удобно при фильтрации ввода или разборе строк.

Полная статья

Описание

Функция isAlpha(thisChar) определяет, является ли переданный символ буквой — латинской строчной или прописной. Это удобно, когда нужно отфильтровать буквенные символы из строки или входного потока, отбросив цифры, знаки препинания и пробелы.

Синтаксис

isAlpha(thisChar)

Параметры

thisChar: символ типа char, который нужно проверить. Допустимый тип данных: char.

Возвращает

Функция возвращает true, если символ является буквой. Если символ — цифра, пробел, знак препинания или любой другой небуквенный символ, возвращается false.

Пример кода

char myChar = 'A'; // попробуйте с '#' — не буквенный символ

void setup() {
  Serial.begin(9600);

  if (isAlpha(myChar)) {  // проверяет, является ли myChar буквой
    Serial.println("The character is a letter");
  } else {
    Serial.println("The character is not a letter");
  }
}

void loop() {
}

Где применяется

  • Парсинг пользовательского ввода — например, чтобы принимать только текстовые команды и игнорировать случайно нажатые цифры.
  • Валидация данных — проверка, что принятая по Serial строка содержит только буквы, прежде чем передавать её дальше.
  • Разбор протоколов — когда нужно разделить поток символов на «слова» и «числа» без сложных условий.
  • Фильтрация символов — очистка строки от лишних символов перед сравнением или выводом.

Практические замечания

  • Функция проверяет только латинские буквы (A–Z, a–z). Кириллица и другие символы Unicode не распознаются как буквы.
  • Поведение функции аналогично стандартной функции isalpha() из <ctype.h>, которая учитывает текущую локаль. На Arduino локаль обычно фиксирована и соответствует ASCII.
  • Удобно использовать в цикле вместе с charAt() или при обработке символов, считанных через Serial.read().
  • Если символ получен через Serial.read(), сначала проверьте, что результат не равен -1, и только потом приводите его к char. Иначе можно случайно проверить не символ, а признак «данных пока нет».
  • Функция не изменяет значение переменной — она только читает и возвращает результат проверки.

Полезные материалы