Python:从字符串中删除URL,包含反斜杠的URL

时间:2018-01-12 20:31:00

标签: python regex string backslash

我需要从字符串列表中删除URL(仅替换为http),但某些URL中包含反斜杠(\)。我在网上搜索,发现\是Python中的转义字符。 Stackoverflow答案我发现没有帮助我的任务。

s = 'Future Of Education http://twitter.com/A6y2s9Hyys\xa0 Some right, some wrong.'
re.sub(r'http\S+', 'http', s)

我得到的结果是Future Of Education http\xa0 Some right, some wrong.而不是我想要的Future Of Education http Some right, some wrong.所以我认为问题是我找不到处理字符串反斜杠的方法?

有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:1)

\xa0不是URL的一部分,它是unicode非中断空格字符。您可以将正则表达式更新为http://\S+,以从网址末尾删除\xa0

s = 'Future Of Education http://twitter.com/A6y2s9Hyys\xa0 Some right, some wrong.'
print(re.sub(r'http://\S+', 'http', s))

输出:

Future Of Education http  Some right, some wrong.

感谢@ctwheels获取更新的正则表达式。