2016-06-12 3 views
0

например: a = ['Сейчас 20 м до 10 ч', 'ОК 15 с после 6 пунктуальных']. Я хочу time_fragment = ['20m', '15s'].Python: как отделить определенную комбинацию число-текст от строки?

Я видел ответы, которые использовали функцию split и import re, но не видели ничего, чтобы обратиться к случаю с комбинацией чисел. Это связано с небольшим интеллектуальным анализом текста, поэтому данные беспорядочны.

+0

Split * can * можно использовать для разделения отдельных слов, независимо от того, имеют ли они в них номера или нет. Пока вы не укажете, какой шаблон вы ищете и/или как его идентифицировать, а не только один пример без объяснений, не знаете, какую помощь вы получите. –

+0

внося коррективы в вопрос – CWeeks

ответ

1

Если вы хотите только раз перед словом «до», вы можете использовать lookahead в вашем регулярном выражении.

import re 
s = 'Now is 20m before 10h' 
rgx = re.compile(r'[0-9]+[hms](?= *before)') 
print rgx.findall(s) # ['20m'] 
+0

действительно прямо. решил мою проблему. – CWeeks

Смежные вопросы