str = 'anytext6821'
Есть строка, которая заканчивается на 4 цифры.
lst = ['anytext']
Есть список с одним элементом.
Как изменить этот элемент так, чтобы str == lst[0] *!!изменять не str, а именно элемент списка.
Я так понимаю что нужно как-то с помощью regex изменить элемент так, чтобы получилось что-то вроде этого lst = ['anytext*d/x}\] - с regex не знаком, по сему написал просто набор символов.
Python
Помогите со строками в python
По регулярным выражениям есть хорошая статейка:
https://tproger.ru/translations/regular-expression-python/
Я написал программу, которая сопоставляет текст с регулярным выражением
«(всё, кроме цифр), затем цифры».
\d — любая цифра 0-9.
\D — любой знак, кроме цифры.
* — означает от 0 повторов и выше.
r перед началом строки означает, что строка «сырая» (raw, так было в найденном мною примере, я сделал так же).
«Всё, кроме цифр» взято в скобки. Таким образом, при сопоставлении со строкой 'anytext6821' эта часть регулярного выражения не только сопоставится с 'anytext', но и запомнится в отдельной группе.
Затем мы можем обратиться к этой группе и получить ее содержимое: result.group(1).
(Если в тексте после цифры будет идти не-цифра, то match не сработает; возможно, ты захочешь вместо match использовать search)
Вот что у меня получилось (запускал здесь https://repl.it/languages/python3 ):
import re
str = 'anytext6821'
lst = ['anytext']
result = re.match(r'(\D*)\d*', str)
newStr = result.group(1)
print('result')
print(result)
print('str = '+str)
print('newStr = '+newStr)
print('Совпадает ли str и lst[0]?')
print(str == lst[0])
print('Совпадает ли newStr и lst[0]?')
print(newStr == lst[0])
https://tproger.ru/translations/regular-expression-python/
Я написал программу, которая сопоставляет текст с регулярным выражением
«(всё, кроме цифр), затем цифры».
\d — любая цифра 0-9.
\D — любой знак, кроме цифры.
* — означает от 0 повторов и выше.
r перед началом строки означает, что строка «сырая» (raw, так было в найденном мною примере, я сделал так же).
«Всё, кроме цифр» взято в скобки. Таким образом, при сопоставлении со строкой 'anytext6821' эта часть регулярного выражения не только сопоставится с 'anytext', но и запомнится в отдельной группе.
Затем мы можем обратиться к этой группе и получить ее содержимое: result.group(1).
(Если в тексте после цифры будет идти не-цифра, то match не сработает; возможно, ты захочешь вместо match использовать search)
Вот что у меня получилось (запускал здесь https://repl.it/languages/python3 ):
import re
str = 'anytext6821'
lst = ['anytext']
result = re.match(r'(\D*)\d*', str)
newStr = result.group(1)
print('result')
print(result)
print('str = '+str)
print('newStr = '+newStr)
print('Совпадает ли str и lst[0]?')
print(str == lst[0])
print('Совпадает ли newStr и lst[0]?')
print(newStr == lst[0])
Сначала пишешь что мы имеем, потом что хотим иметь.
и после свои рассуждалки о том, что, куда присунуть для получения того чего мы хотим из того, что имеем. Желательно в виде кода, не работающего скорее всего, но ПОЛНОГО....
и после свои рассуждалки о том, что, куда присунуть для получения того чего мы хотим из того, что имеем. Желательно в виде кода, не работающего скорее всего, но ПОЛНОГО....
Похожие вопросы
- Можете помочь! Нужен код для Python, что бы он заменял определенный текст в файле
- Помогите, пожалуйста, решить задачу Python
- Помогите написать программу на Python, моя версия кода на скрине, вроде всё работает, но автопроверка не проходит.
- Пожалуйста, помогите решить задачу на Python. Упражнения 57,58,59,60.
- Помогите решить задачу на Python. Никак не могу решить задачу, больше дня не могу найти ответ! Никакой код не работает.
- Прошу опытных программистов помочь с выбором курса Python для обучения
- Пожалуйста, помогите решить задачу на Python. Упражнение 124, 125, 146
- Помогите написать программу на python
- Помогите написать код в python
- Помогите решить задачку в Python (!)