由于我正在使用Twitter API,我得到了几个包含链接的字符串(推文),这就是它与'http://'
一起开始的子字符串。
我怎样才能摆脱这样的链接,就是这样,我想删除整个单词。
让我说我有:
'Mi grupo favorito de CRIMINALISTICA. Ultima clase de cuatrimestre http://t.co/Ad2oWDNd4u'
我想获得:
'Mi grupo favorito de CRIMINALISTICA. Ultima clase de cuatrimestre'
此类子串可能出现在字符串
的任何位置答案 0 :(得分:4)
您可以使用re.sub()将所有链接替换为空字符串:
>>> import re
>>> pattern = re.compile('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+')
>>> s = 'Mi grupo favorito de CRIMINALISTICA. Ultima clase de cuatrimestre http://t.co/Ad2oWDNd4u'
>>> pattern.sub('', s)
'Mi grupo favorito de CRIMINALISTICA. Ultima clase de cuatrimestre '
它取代了字符串中任何位置的所有链接:
>>> s = "I've used google https://google.com and found a regular expression pattern to find links here https://stackoverflow.com/questions/6883049/regex-to-find-urls-in-string-in-python"
>>> pattern.sub('', s)
"I've used google and found a regular expression pattern to find links here "
正则表达式取自此主题:
答案 1 :(得分:0)
你可以这样做:
s[:s.index('http://')-1]
如果它不总是出现在最后,你可以这样做:
your_list = s.split()
i = 0
while i < len(your_list):
if your_list[i].startswith('http://'):
del your_list[i]
else:
i+=1
s = ' '.join(your_list)