2015-07-20 2 views
-2

В моем проекте у меня есть комментарии, которые мне придется обрабатывать (tokenize spem и т. Д.). В этих комментариях у меня есть пример 17.20 или 17:20, который отображает время и 20 ', которые отображают секунды. Как их удалить?Python удаляет строки с рисунком

>>> m = re.search('([0-9]+\\.[0-9]+)+','Παρήγγειλα 21.29 και ήρθε 22.17') 
>>> m.group(0) 
    '21.29' 
>>> m.group(1) 
    '21.29' 
>>> m.group(2) 
    Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    IndexError: no such group 

Я использую рег и у меня есть код выше и выход ... как есть и (21.29 и 22.17)? Я хочу удалить их из своих комментариев.

+0

Использование [регулярных выражений] (https://docs.python.org/2/library/re.html)? – dlask

+0

Вы, сэр, должны делать исследования, прежде чем отправлять сообщения. – cujo

+0

Вы можете опубликовать некоторые из этих комментариев в полном объеме? Это поможет узнать контекст. –

ответ

1

Вы должны использовать регулярное выражение и библиотеку регулярных выражений Python re. Регулярные выражения очень полезны, реализованы почти на каждом современном языке, и есть много информации о них, в том числе много учебников и объяснений.

Регулярное выражение представляет собой строку, которая содержит специальные символы, такие как * или |, который используется для соответствия вашей строке, чтобы убедиться, что она соответствует определенному шаблону. (Это похоже на гораздо более мощную версию использования «*» или «?» Для выбора групп файлов, имена которых похожи.) Вы можете получить части строки, которые соответствуют группам в квадратных скобках в регулярном выражении.

Например:

m = re.match("(.*day) (\d{1,2}:\d\d) (a|p)m", "Monday 3:15 am") 

возвратит матч, поскольку регулярное выражение определяет ничего, оканчивающийся «день», затем пробел, затем либо 1 или 2 цифры (\d соответствует любой цифре), то :, затем две цифры, затем пробел, затем либо p, либо a, затем m. К элементам строки, которые соответствуют частям регулярного выражения в скобках, можно получить доступ с помощью m.group().

>>> m.group(1) 
'Monday' 
>>> m.group(2) 
'3:15' 
>>> m.group(3) 
'am' 

Полная документация для re библиотеки в https://docs.python.org/2/library/re.html Это занимает много времени, чтобы стать экспертом регулярного выражения, но есть множество ресурсов, в том числе интернета-приложений, чтобы проверить ваше регулярное выражение против различных строк, которые помогут вам понять вне правильного регулярного выражения для вашей проблемы.

+0

Я хочу, чтобы 3:15 разделил его на 3' ':' '15 ', поэтому я могу удалить его позже – william

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