Извлечение данных между специальными символами - PullRequest
0 голосов
/ 01 марта 2019
df
Out[17]: 
0       (a)[b]<c>
1    (aa)[bb]<cc>
2       (e)[f]<g>
dtype: object

мне нужно извлечь строку между специальными символами.

df.str.findall(r'[^[]*\[([^]]*)\]')
Out[16]: 
0     [b]
1    [bb]
2     [f]
dtype: object

Используя это, я могу получить строку между [], но я не могу извлечь текст между (),<> Пожалуйста, помогите мне с этим.Мне нужно, чтобы вывод был как:

0    (a)    [b]   <c>
1    (aa)   [bb]  <cc>
2    (e)    [f]   <g>

1 Ответ

0 голосов
/ 01 марта 2019
df.apply(lambda x: ' '.join(re.findall('(?<=[\W])[a-z]+(?=[\W])',x)))

Выход

0       a b c
1    aa bb cc
2       e f g

ИЛИ

df.apply(lambda x: ' '.join(re.findall('[\W][a-z]+[\W]',x)))

Выход

0       (a) [b] <c>
1    (aa) [bb] <cc>
2       (e) [f] <g>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...