Как я могу проверить есть ли в строке python определенные символы
Мне необходимо проверить строку ‘gkegfemeeуууее&@(‘ на то, что есть ли в ей только русские и латинские символы, без учета регистра, если в строке есть какие-то прочие символы — тогда ответ должен быть True , иначе False Сделать это необходимо как можно короче, но чтобы при этом для меня было понятно, использование регулярок — запрещено.
Отслеживать
задан 5 сен 2021 в 17:00
869 2 2 золотых знака 8 8 серебряных знаков 29 29 бронзовых знаков
А кто запретил Вам использовать регулярки?
5 сен 2021 в 17:03
Вот как буду понимать, тогда и будет разрешение 🙂
5 сен 2021 в 17:03
6 ответов 6
Сортировка: Сброс на вариант по умолчанию
Хоть и без регулярки, но попробую объяснить, что это достаточно просто и ничего страшного в регулярных выражениях нет.
import re regex = "^[a-zA-Zа-яА-ЯёЁ]+$" string = "gkegfemeeуууее&@(" pattern = re.compile(regex) print(pattern.search(string) is not None) # False
Пример выведет False для строки gkegfemeeуууее&@( , т.к. она не соответствует нашему регулярному выражению. Разберём нашу регулярку:
- ^ -> Указывает на начало строки
- [] -> Тут указывает список из разрешённых символов (должно быть что-то из списка)
- a-z -> Все латинские символы в нижнем регистре
- A-Z -> Все латинские символы в верхнем регистре
- а-я -> Все символы кириллицы в нижнем регистре
- А-Я -> Все символы кириллицы в верхнем регистре
- ёЁ -> Особенные символы русского языка 🙂
- + -> Указывает на то, что строка продолжается и может иметь больше одного символа
- $ -> Указываем на конец строки
Проверить строку на наличие определенного символа в Python
В этом посте мы обсудим, как проверить строку на наличие определенного символа в Python.
1. Использование in оператор
Pythonic, быстрый способ проверить конкретный символ в строке, использует in оператор. Он возвращается True если символ найден в строке и False в противном случае.
if __name__ == ‘__main__’ :
s = «techiedelight.com»
if ch in s :
print ( «Character found» )
print ( «Character not found» )
The in оператор реализует встроенную функцию __contains__ . Не рекомендуется звонить напрямую.
if __name__ == ‘__main__’ :
s = «techiedelight.com»
if s . __contains__ ( ch ) :
print ( «Character found» )
print ( «Character not found» )
2. Использование str.find() функция
Другим распространенным подходом к поиску символа в строке является использование str.find() функция. Это возвращает индекс первого вхождения символа в строку и -1, если символ не найден.
if __name__ == ‘__main__’ :
s = «techiedelight.com»
if s . find ( ch ) != — 1 :
print ( «Character found» )
print ( «Character not found» )
3. Использование регулярных выражений
Другой подход заключается в использовании регулярного выражения, как показано ниже. Обратите внимание, что регулярные выражения обходятся дорого, и их следует по возможности избегать.
if __name__ == ‘__main__’ :
s = «techiedelight.com»
pattern = re . compile ( r ‘.’ )
if pattern . findall ( s ) :
print ( «Character found» )
print ( «Character not found» )
Это все о проверке строки на наличие определенного символа в Python.
Оценить этот пост
Средний рейтинг 4.59 /5. Подсчет голосов: 37
Голосов пока нет! Будьте первым, кто оценит этот пост.
Сожалеем, что этот пост не оказался для вас полезным!
Расскажите, как мы можем улучшить этот пост?
Спасибо за чтение.
Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.
Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂
Подписывайся
0 Комментарии
Встроенные отзывы
Просмотреть все комментарии
Загрузить больше комментариев
Просматривать
Подпишитесь на новые публикации
- Все проблемы
- Практика DSA
- 100 самых популярных задач
- 50 лучших классических задач
- Лучшие алгоритмы
- Компилятор С/С++
- Компилятор Java
- Компилятор Python
- Компилятор JavaScript
- компилятор PHP
- Компилятор C#
- Свяжитесь с нами
- Политика конфиденциальности
- условия обслуживания
- Подпишитесь на новые публикации
Techie Delight © 2023 Все права защищены.
Этот веб-сайт использует файлы cookie. Используя этот сайт, вы соглашаетесь с использованием файлов cookie, нашей политикой, условиями авторского права и другими условиями. Читайте наши Политика конфиденциальности. Понятно
Как проверить наличие подстроки в строке python
Чтобы проверить, есть ли подстрока в строке можно использовать оператор in . Взгляните на пример ниже:
phrase = 'I Love Hexlet!' word = 'Hexlet' if word in phrase: print('Hi!')
На экран будет выведено ‘Hi!’ .
Метод str.isalpha() в Python, строка состоит только из букв
Проверяет, что строка состоит только из буквенных символов
Синтаксис:
str.isalpha()
Внимание! Ссылки для тех, кто ищет:
- как можно проверить наличие/вхождение определенного символа/буквы/подстроки в строке,
- узнать порядковый индекс определенного символа/буквы/подстроки в строке,
- сколько раз встречается определенный символ/буква/подстрока в строке.
Параметры:
Возвращаемое значение:
- bool , True — если строка содержит только буквы
Описание:
Метод строки str.isalpha() возвращает True , если все символы в строке str являются буквенными и есть хотя бы один символ (строка не пустая и не состоит из одного пробела), в противном случае False .
Буквенные символы — это символы, определенные в базе данных символов Юникода как “буква”. То есть, те символы, у которых общее свойство категории является одним из Lm , Lt , Lu , Ll или Lo . Обратите внимание, что это определение отличается от понятия “Алфавитный”, определенного в стандарте Unicode.
Примеры определения, что строка состоит только из буквенных символов.
>>> ''.isalpha() # False >>> ' '.isalpha() # False >>> '123'.isalpha() # False >>> 'abcABC'.isalpha() # True >>> '123abc'.isalpha() # False >>> '123 abc'.isalpha() # False >>> '123-abc'.isalpha() # False
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Метод str.capitalize(), первая буква в строке заглавная
- Метод str.casefold(), сворачивает регистр строки
- Метод str.center(), выравнивает строку по центру
- Метод str.count(), считает совпадения в строке
- Метод str.encode(), преобразует строку в байты
- Метод str.endswith(), совпадение с концом строки
- Метод str.expandtabs(), меняет табуляцию на пробел
- Метод str.find(), индекс первого совпадения в строке
- Метод str.format(), форматирует строку
- Метод str.format_map()
- Метод str.index(), индекс первого совпадения подстроки
- Метод str.isalnum(), строка состоит из цифр и букв
- Метод str.isalpha(), строка состоит только из букв
- Метод str.isascii(), все символы в строке являются ASCII
- Метод str.isdecimal(), проверяет строку на десятичное число
- Метод str.isdigit(), строка состоит только из цифр
- Метод str.isidentifier() проверяет строку на идентификатор Python
- Метод str.islower( ), проверяет строку на нижний регистр
- Метод str.isnumeric(), проверяет строку на числовые символы
- Метод str.isprintable(), проверяет на доступность для печати
- Метод str.isspace(), является ли строка пробелом
- Метод str.istitle(), проверяет наличие заглавных букв в словах
- Метод str.isupper(), проверяет строку на верхний регистр
- Метод str.join(), объединяет список строк
- Метод str.ljust(), ровняет строку по левому краю
- Метод str.lower(), строку в нижний регистр
- Метод str.lstrip(), обрезает символы в начале строки
- Метод str.maketrans(), таблица символов для str.translate()
- Метод str.partition(), делит строку по первому совпадению
- Метод str.removeprefix(), удаляет префикс строки
- Метод str.removesuffix(), удаляет суффикс строки
- Метод str.replace(), меняет подстроку/символ в строке
- Метод str.rfind(), индекс последнего совпадения подстроки
- Метод str.rindex(), индекс последнего совпадения в строке
- Метод str.rjust(), ровняет строку по правому краю
- Метод str.rpartition(), делит строку по последнему совпадению
- Метод str.rsplit(), делит строку справа
- Метод str.rstrip(), обрезает символы на конце строки
- Метод str.split(), делит строку по подстроке
- Метод str.splitlines(), делит текст по символу ‘\n’
- Метод str.startswith(), совпадение с началом строки
- Метод str.strip(), обрежет строку с обоих концов
- Метод str.swapcase(), сменит регистр символов в строке
- Метод str.title(), каждое слово с заглавной буквы
- Метод str.translate(), транслирование строки
- Метод str.upper(), переведет строку в верхний регистр
- Метод str.zfill(), дополнит строку нулями
- Форматирование строк в стиле printf
- F-string. Форматированные строки