2017-01-11 5 views
-2

私は私が試したURLから自分のデータを掃除しています:次の出力を達成するために正規表現を使用する方法は?

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

これは厄介な問題です。完璧なURL正規表現の試みについては、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/は、まともなオンラインpython風味の正規表現テスターです。 – 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 
関連する問題