Как проверить текст регистр c
Перейти к содержимому

Как проверить текст регистр c

  • автор:

Проверьте, содержит ли ячейка текст (без учета регистра)

Предположим, вы хотите убедиться, что столбец содержит текст, а не цифры. Или, возможно, вы хотите найти все заказы, которые соответствуют конкретному продавцу. Если вы не имеете никакого отношения к тексту в верхнем или нижнем регистре, существует несколько способов проверка, если ячейка содержит текст.

Вы также можете использовать фильтр для поиска текста. Дополнительные сведения см. в разделе Фильтрация данных.

Поиск ячеек, содержащих текст

Чтобы найти ячейки, содержащие определенный текст, выполните следующие действия:

  1. Выберите диапазон ячеек, в которые требуется выполнить поиск. Чтобы выполнить поиск по всему листу, щелкните любую ячейку.
  2. На вкладке Главная в группе Редактирование нажмите кнопку Найти & Выбрать, а затем нажмите кнопку Найти.

Поиск параметра на ленте

Примечание: В критериях поиска можно использовать подстановочные знаки.

Примечание: Чтобы остановить поиск, нажмите клавишу ESC.

Проверьте, есть ли в ячейке текст

Для выполнения этой задачи используйте функцию ISTEXT .

Примеры ISTEXT

Проверка соответствия ячейки определенному тексту

Используйте функцию IF , чтобы вернуть результаты для указанного условия.

Примеры IF

Проверка соответствия части ячейки определенному тексту

Для выполнения этой задачи используйте функции IF, SEARCH и ISNUMBER .

Примечание: Функция SEARCH не учитывает регистр.

Проверьте, содержит ли ячейка текст (с учетом регистра)

Предположим, вы хотите найти текст, который начинается со стандартного префикса компании, например ID_ или EMP-, и этот текст должен содержать прописные буквы. Существует несколько способов проверка, если ячейка содержит текст и имеет ли значение регистр текста.

Сравнение одной ячейки с другой ячейкой

Для выполнения этой задачи используйте функцию EXACT .

Примечание: Функция СОВПАД учитывает регистр, но игнорирует различия в форматировании.

Пример использования функции EXACT для сравнения одной ячейки с другой

Сравнение одного значения со списком значений

Для выполнения этой задачи используйте функции EXACT и OR .

Пример использования функций OR и EXACT для сравнения одного значения со списком значений

Примечание: Если у вас установлена текущая версия Microsoft 365, можно просто ввести формулу в верхней левой ячейке диапазона вывода и нажать клавишу ВВОД, чтобы подтвердить использование формулы динамического массива. В противном случае формулу необходимо ввести в качестве устаревшей формулы массива, сначала выбрав выходную ячейку, введя формулу в выходную ячейку, а затем нажав клавиши CTRL+SHIFT+ВВОД , чтобы подтвердить ее. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.

Проверка соответствия части ячейки определенному тексту

Для выполнения этой задачи используйте функции IF, FIND и ISNUMBER .

Примечание: Функция FIND учитывает регистр.

Пример использования функций IF, ISNUMBER и FIND для проверка, если часть ячейки соответствует определенному тексту

Формула на приведенном выше снимке экрана использует следующие аргументы.

Формула для поиска текста

  1. search_for: для чего нужно проверка.
  2. to_search: ячейка, содержащая текст, который требуется проверка.

Как проверить текст регистр c

Стандартная библиотека С++ также предоставляет ряд встроенных функций для работы с символами. В основном они связанны с проверкой символов:

  • isupper(c) : проверяет, является ли c заглавной буквой, по умолчанию от «A» до «Z»
  • islower(c) : проверяет, является ли c буквой нижнего регистра, по умолчанию от ‘a’ до ‘z’
  • isalpha(c) : проверяет, является ли c алфавитным символом
  • isdigit(c) : проверяет, является ли c цифрой от ‘0’ до ‘9’
  • isxdigit(c) : проверяет, является ли c шестнадцатеричной цифрой, от ‘0’ до ‘9’, от ‘a’ до ‘f’ или от ‘A’ до ‘F’
  • isalnum(c) : проверяет, является ли c алфавитно-цифровым символом; аналогично isisalpha(c) || isdigit(c)
  • isspace(c) : проверяет, является ли c пробелом (‘ ‘), символом перевода строки (‘\n’), возвратом каретки (‘\r’), перевод страницы (‘\f’), горизонтальная (‘\t’) или вертикальная (‘\v’) табуляция
  • isblank(c) : проверяет, является ли c пробелом (‘ ‘) или символом табуляция (‘\t’)
  • ispunct(c) : проверяет, является ли c символом пунктуации (один из следующих: _ < >[ ] # ( ) < >% : ; ? * + — / ^ & | ~ ! » brush:cpp;»> #include int main() < unsigned char letter ; if (std::isupper(letter)) std::cout

    Данные функции очень часто применяются при обработке строк. Рассмотрим прстейшую задачу — нам надо извлечь из некоторого текста (например, из строки «Phone number: +1(234)456-78-90» ) номер телефона:

    #include #include int main() < std::string text ; std::string phone; // строка для хранения номера for(unsigned i<>; i < text.length(); i++) < // проверяем, является ли символ цифрой if(std::isdigit(text[i])) < // добавляем в строку номера телефона phone += text[i]; >> std::cout 

    Здесь проходим по всем символам текста и, если символ представляет цифру, то заносим его в строку phone. Другая задача — нам надо сравнить две строки вне зависимости от регистра. С одной стороны, мы могли бы использовать простую операцию сравнения ==, которая также может сравнивать строки. Но если мы попытаемся сравнить две строки, в которых хотя бы один символ отличается по регистру, то они будут не равны:

    #include #include int main() < std::string word1 ; word1 = "hello"; std::string word2 ; if(word1 == word2) < std::cout else < std::cout >

    Результат данной программы:

    strings are not equal

    Чтобы организовать сравнение без учета регистра, мы могли бы переводить символы в верхний или нижний регистр и сравнивать их:

    #include #include int main() < std::string word1 ; std::string word2 ; bool is_equal; // равны ли строки if(word1.length() != word2.length()) < is_equal = false; >else < // сравниваем все символы for(unsigned i<>; i < word1.length(); i++) < // переводим символы в нижний регистр и сравниваем if(std::tolower(word1[i]) != std::tolower(word2[i])) < // если символы не равны, сбрасываем флаг равенства is_equal = false; break; // выходим из цикла >> > if(is_equal) < std::cout else < std::cout >

    В данном случае сначала сравниваем длину строк, так как если длины не равны, то сами строки тоже не равны. Далее в цикле проходим по всем символам обоих строк, переводим их в нижний регистр и сравниваем. Если хотя бы одна пара соответствующих символов не равна, то сбрасываем флаг равенства is_equal в false и выходим из цикла, поскольку строки в этом случае будут уже не равны, и дальше нет смысла сравнивать символы. Результат данной программы:

    HELLO and hello are equal

    Как проверить текст регистр c

    Стандартная библиотека С++ также предоставляет ряд встроенных функций для работы с символами. В основном они связанны с проверкой символов:

    • isupper(c) : проверяет, является ли c заглавной буквой, по умолчанию от «A» до «Z»
    • islower(c) : проверяет, является ли c буквой нижнего регистра, по умолчанию от ‘a’ до ‘z’
    • isalpha(c) : проверяет, является ли c алфавитным символом
    • isdigit(c) : проверяет, является ли c цифрой от ‘0’ до ‘9’
    • isxdigit(c) : проверяет, является ли c шестнадцатеричной цифрой, от ‘0’ до ‘9’, от ‘a’ до ‘f’ или от ‘A’ до ‘F’
    • isalnum(c) : проверяет, является ли c алфавитно-цифровым символом; аналогично isisalpha(c) || isdigit(c)
    • isspace(c) : проверяет, является ли c пробелом (‘ ‘), символом перевода строки (‘\n’), возвратом каретки (‘\r’), перевод страницы (‘\f’), горизонтальная (‘\t’) или вертикальная (‘\v’) табуляция
    • isblank(c) : проверяет, является ли c пробелом (‘ ‘) или символом табуляция (‘\t’)
    • ispunct(c) : проверяет, является ли c символом пунктуации (один из следующих: _ [ ] # ( ) % : ; ? * + — / ^ & | ~ ! » brush:cpp;»> #include int main()

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *