Найти конкретное слово и прочитать после этого слова в Python

Так что я очень, очень плохо знаком с питоном. нужна базовая помощь

Моя логика - найти слова в текстовом файле.

party A %aapple 1
Party B %bat 2
Party C c 3

Мне нужно найти все слова, начинающиеся с%.

мой код

 searchfile = open("text.txt", "r")
for line in searchfile:
 for char in line:
if "%" in char:
    print char      

searchfile.close()

но вывод только символ%. Мне нужно, чтобы положением был%apple и%bat

любая помощь?

2 ответа

Решение

Вы не читаете файл правильно.

searchfile = open("text.txt", "r")

lines = [line.strip() for line in searchfile.readlines()]
for line in lines:
    for word in line.split(" "):
        if word.startswith("%"):
            print word

searchfile.close()

Вы также должны изучить регулярные выражения, чтобы решить эту проблему.

Для наглядности я продолжаю рекомендацию Бипула Джайна о том, как это можно сделать с помощью регулярных выражений:

import re

with open('text.txt', 'r') as f:
    file = f.read()

re.findall(r'%\w+', file)

Результаты:

['%apple', '%bat']
Другие вопросы по тегам