Как найти значение в строке (txt) python
Я новичок в мире python и пытаюсь извлечь значение из текста. Я пытаюсь найти ключевое слово с помощью re.search('keyword'), но я хочу получить значение после ключевого слова
text = word1:1434, word2:4446, word3:7171
я просто хочу получить значение слова 1
i try
keyword = 'word1'
before_keyword, keyword, after_keyword = text.partition(keyword)
print(after_keyword)
output
:1434, word2:4446, word3:7171
я просто хочу получить значение слова1 (1434)
Для упрощения этого можно использовать тип данных Dictionary, вот как это можно сделать:
text = {
'word1':1434,
'word2':4446,
'word3':7171
}
name = 'word1'
if name in text.keys():
print(text.get(name))
Предполагается, что вводимый текст является строкой, а не диктой; тогда
text = "word1:1434, word2:4446, word3:7171"
keyword = 'word1'
print(text.split(keyword+":")[1].split(",")[0])
Надеюсь, это поможет...
Вот как можно искать текст с помощью регулярных выражений:
import re
keyword_regex = r'word1:(\d+)'
text = "word1:1434, word2:4446, word3:7171"
keyword_value = re.search(keyword_regex, text)
print(keyword_value.group(1))
Регекс word1:(\d+)
ищет строку word1:
, за которой следует одна или несколько цифр. Поиск прекращается, если следующий символ не является цифрой. Круглые скобки вокруг (\d+)
делают эту часть группой захвата , что позволяет вам получить к ней доступ позже, используя keyword_value.group(1)
.
Подробнее о регулярных выражениях здесь и модуле re
Python здесь.