Как правильно разбить текст?

Имеется строка вида
aaa (bbb) [ccc].ddd
Как вытащить aaa,bbb,ccc ?
  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
>>> import re
>>> str1="aaa (bbb) [ccc].ddd"
>>> re.match('(.*)\s+\((.*)\)\s+\[(.*)\]\..*',str1).groups()
('aaa', 'bbb', 'ccc')
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
показывай, как пытаешься

в случае примера вообще проще подстроками, а не регулярками
Ответ написан
Комментировать
@1bd_1l_Bari
Можно ещё так:

a = [i for i in 'aaa (bbb) [ccc].ddd' if i == 'a']
b = [i for i in 'aaa (bbb) [ccc].ddd' if i == 'b']
c = [i for i in 'aaa (bbb) [ccc].ddd' if i == 'c']
print('%s,%s,%s' % (''.join(a), ''.join(b), ''.join(c)))

# если нужно ссылаться на эти значения, то можно и так написать
# a1 = '%s,%s,%s' % (''.join(a), ''.join(b), ''.join(c))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы