Найти символы в строке Python
Для поиска символов в начале строки применяется метод startswith , который возвращает булевые значения True или False . В первом параметре метода задаем нужный нам символ, во втором и третьем необязательных параметрах — индекс начала и конца поиска соответственно. Смотрите пример:
txt = ‘abсadea’ res = txt.startswith(‘a’, 3, 6) print(res)
Результат выполнения кода:
С помощью метода endswith
Чтобы найти вхождение символа в конце строки используют метод endswith , который возвращает булевые значения True или False . В первом параметре метода задаем символ, во втором и третьем необязательных параметрах — индекс начала и конца поиска соответственно. Смотрите пример:
txt = ‘abсadea’ res = txt.endswith(‘a’, 0, 4) print(res)
Результат выполнения кода:
Смотрите также
- метод startswith ,
который проверяет подстроку с начала строки - метод endswith ,
который проверяет вхождение подстроки с конца строки
Как найти если символ в строке python
У меня есть переменная «buy» в которую пользователь вписывает цифру или символ и программа проверяет есть ли этот символ в строке «weap» как такое можно провернуть как можно легче ? Я уже делал такую программу но код был слишком большим .
Отслеживать
задан 29 июн 2022 в 15:33
Panos Negra Panos Negra
3 2 2 бронзовых знака
if symbol in string: , ну то есть в вашем случае if buy in weap:
29 июн 2022 в 15:41
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
if buy in weap: # код
weap.find(buy) # возвращает номер символа в строке или если его нет, то -1
Отслеживать
ответ дан 29 июн 2022 в 20:37
467 3 3 серебряных знака 15 15 бронзовых знаков
Это, скорее, комментарий по практике сайта.
30 июн 2022 в 5:26
Python string method find() determines if string str occurs in string, or in a substring of string if starting index beg and ending index end are given.
Отслеживать
ответ дан 29 июн 2022 в 16:14
Igor Kudryashov Igor Kudryashov
1,756 10 10 серебряных знаков 13 13 бронзовых знаков
find избыточен, если конкретная позиция не нужна, для проверки факта наличия достаточно in
30 июн 2022 в 7:45
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Нахождение позиции символа в строке в Python
Часто при работе со строками в Python возникает необходимость определить позицию определенного символа или подстроки внутри строки. Например, имеется строка ‘Hello, World!’ и необходимо найти позицию символа ‘W’ в ней.
Python предоставляет несколько методов для работы со строками, которые помогут решить эту задачу.
Метод index()
Один из самых простых способов — использовать метод index() , который возвращает индекс первого вхождения указанного символа или подстроки. Например:
s = 'Hello, World!' pos = s.index('W')
В этом случае переменная pos будет содержать значение 7 , так как символ ‘W’ находится на позиции 7 (счет ведется с 0 ).
Если символ или подстрока отсутствуют в строке, метод index() вызовет исключение ValueError .
Метод find()
Еще одним способом является использование метода find() , который также возвращает индекс первого вхождения указанного символа или подстроки, но в отличие от метода index() , если символ или подстрока отсутствуют в строке, find() возвращает -1 , а не вызывает исключение.
Пример использования метода find() :
s = 'Hello, World!' pos = s.find('W')
В этом случае pos также будет равно 7 . Если бы символ ‘W’ отсутствовал в строке, pos был бы равен -1 .
Эти два метода являются основными инструментами для нахождения позиции символа или подстроки в строке в Python.
Python: поиск в строке
В сегодняшнем посте разбираем поиск подстроки в строке. Задачи стоят элементарнейшие. В отличие от задача по преобразованию строки в число, задачи по поиску решаются в python с помощью встроенных функций. Для решения наших задач определим строки:
# исходная строка string = "Some string for example." # подстрока, которая явно входит в исходную строку substring = "string" # подстрока, которая явно не ходит в исходную строку other_substring = "other string"
Задача №1 — узнать, входит ли подстрока в строку. Операция substring in string вернет нам в результате логический ответ: True в случае, если substring входит в строку, и False в случае, если не входит. Для наглядности приведу ниже пример.
# Для начала хотим узнать, входит ли подстрока в строку if substring in string: print ("Подстрока "%s" входит в строку "%s"" % (substring, string)) else: print ("Подстрока "%s" не входит в строку "%s"" % (substring, string)) # Та же самая процедура с другой подстрокой if other_substring in string: print ("Подстрока "%s" входит в строку "%s"" % (other_substring, string)) else: print ("Подстрока "%s" не входит в строку "%s"" % (other_substring, string))
Задача №2 — узнать позицию вхождения подстроки в строку. Данную задачу решаем с помощью функции find(self, sub[, start[, end]]). Сразу перейдем к примерам:
# Узнаем, с какой позиции подстрока входит в строку print(string.find(substring)) # 5 # Ищем, начиная с позиции 20 print(string.find(substring, 20)) # 44 # Ищем в диапазоне позиций 20 - 30 print(string.find(substring, 20, 30)) # -1 # И смотрим на результат, если подстрока не входит в строку print(string.find(other_substring)) # -1
Далее стоит перед нами задача №3 — вычислить количество вхождений подстроки в строку. С ней легко справляется функция count(self, sub[, start[, end]])
# Нам интересно количество вхождений подстроки в строку print(string.count(substring)) # 2
Задача №4 — проверить входит ли подстрока в строку без учета регистра. Для этого мы воспользуемся функцией преобразования символов строки в нижний/верхний регистр и применим к примеру №1.
# Для начала хотим узнать, входит ли подстрока в строку if substring.lower() in string.lower(): print ("Подстрока "%s" входит в строку "%s"" % (substring, string)) else: print ("Подстрока "%s" не входит в строку "%s"" % (substring, string)) # Та же самая процедура с другой подстрокой if other_substring.upper() in string.upper(): print ("Подстрока "%s" входит в строку "%s"" % (other_substring, string)) else: print ("Подстрока "%s" не входит в строку "%s"" % (other_substring, string))
На этом я остановлюсь, пожалуй. Если возникли вопросы, пожелания или предложения, то оставляйте комментарии. Отвечу всем.
