2017-01-11 16 views
-2

Я очистки мои данные от URLs Я пробовал:Как использовать регулярное выражение для достижения следующего результата?

s = 'hello http://www.google.com I am william http://www.google.com' 

from urlparse import urlparse 

s.split() 

clean = ' '.join([el for el in [i for i in s.split()] if not urlparse(el).scheme]) 

print(clean) 

желаемый результат:

hello I am william 

Однако на этот раз я хотел бы достичь такой же результат, используя вместо регулярного выражения.

+0

Это неудобный вопрос. См. Https://mathiasbynens.be/demo/url-regex для некоторых попыток создания правильных регулярных выражений. Если вы знаете, что ваши URL всегда будут иметь определенный формат, эта проблема будет значительно упрощена. –

+0

Проверьте [здесь] (http://stackoverflow.com/questions/6718633/python-regular-expression-again-match-url) и [здесь] (http://stackoverflow.com/questions/6883049/regex-to -find-urls-in-string-in-python), а также [здесь] (http://stackoverflow.com/questions/520031/whats-the-cleanest-way-to-extract-urls-from-a-string -using-python) – yorodm

+0

https://regex101.com/ является достойным онлайн-тестировщиком регулярных выражений на основе питона. – wwii

ответ

4

использование замена

import re 

s = 'hello http://www.google.com I am william http://www.google.com' 
print(re.sub('http\S+\s?', '', s)) 

Печать

hello I am william