#python #python-3.x #string
#python #python-3.x #строка
Вопрос:
здравствуйте, дорогой полезный ppl в stackoverflow ,
У меня есть пара вопросов о манипулировании string
в python
,
первый вопрос:-
если у меня есть string
подобное :
'What's the use?'
и я хочу найти первую букву после 'the'
например (какая польза?) буква u
как я мог бы сделать это наилучшим образом?
второй вопрос:-
если я хочу что-то изменить в этой строке на основе первой буквы, которую я нашел в (первом вопросе), как я мог это сделать?
и спасибо за помощь!
Комментарии:
1. Регулярным выражением: demo Для замены: demo
2. Какие изменения в строке вы имеете в виду? Невозможно изменить строку на месте. Но вы можете создать новое.
Ответ №1:
Вы можете использовать замену регулярного выражения, чтобы удалить все содержимое, включая первое the
(вместе с любыми последующими пробелами). Затем просто получите доступ к первому символу из этого вывода.
inp = 'What''s the use?'
inp = re.sub(r'^.*?bthebs*', '', inp)
print("First character after first 'the' is: " inp[0])
Это выводит:
First character after first 'the' is: u
Ответ №2:
Другой re
дубль:
import re
sample = "What is the use?"
pattern = r"""
(?<=btheb) # look-behind to ensure 'the' is there. This is non-capturing.
s # one or more whitespace characters
(w) # Only one alphanumeric or underscore character
"""
# re.X is for verbose, which handles multi-line patterns
m = re.search(pattern, sample, flags = re.X).groups(1)
if not m is None:
print(f"First character after first 'the' is: {m[0]}")
Ответ №3:
Вы можете найти индекс ‘u’, используя метод str.index() . Затем вы можете извлечь строку до и после использования операции среза.
s = "What's the use?"
character_index = s.lower().index('the ') 4
print(character_index)
# 11
print(s[:character_index] '*' s[character_index 1:])
# What's the *se?