Как выводить нужные слова из строки
Здравствуйте у меня есть файл
< ;^; >ttx.txt,YWxpbmE=< ;^; >vfx.txt,dmFzeWE=< ;^; >pps.txt,dmljdG9y
После < ;^; > идёт название файла, а после названия через запятую идёт текст и у меня вопрос как мне вывести отдельно название файла и отдельно текст с учётом того что подобных строк может быть очень много
Ответы (2 шт):
Автор решения: timur
→ Ссылка
import re
s = '< ;^; >ttx.txt,YWxpbmE=< ;^; >vfx.txt,dmFzeWE=< ;^; >pps.txt,dmljdG9y'
r = re.findall(r'<\s;\^;\s>(.+?),([^<$]+)', s)
print(r) # [('ttx.txt', 'YWxpbmE='), ('vfx.txt', 'dmFzeWE='), ('pps.txt', 'dmljdG9y')]
for i in r:
print(f'{i[0]}: {i[1]}')
# ttx.txt: YWxpbmE=
# vfx.txt: dmFzeWE=
# pps.txt: dmljdG9y
Автор решения: S. Nick
→ Ссылка
Как вариант:
_str = "< ;^; >ttx.txt,YWxpbmE=< ;^; >vfx.txt,dmFzeWE=< ;^; >pps.txt,dmljdG9y"
print(*[ ( [j[0], j[1]] if j[1][-1] != '=' else [j[0], j[1][:-1]]) for j in [i.split(',') for i in _str.split('< ;^; >') if i] ], sep=('\n'))
['ttx.txt', 'YWxpbmE']
['vfx.txt', 'dmFzeWE']
['pps.txt', 'dmljdG9y']