找到一个子字符串然后用其他可能用正则表达式替换它

时间:2017-03-31 19:57:49

标签: regex python-3.x

我需要一些关于正则表达式的帮助。我正在处理一些Twitter数据,并且有很多推文包含这样的文本:#something1 @ something2。我正试图找到一种方法来找到像这样的子串并用#something1 @ something2替换它。我使用python 3。 我怎样才能做到这一点?谢谢!

2 个答案:

答案 0 :(得分:1)

使用look-behind检查是否存在非空格:

s = re.sub(r'(?<=\S)@', ' @', s)

仅在存在“已连接”#时执行此操作:

s = re.sub(r'(#\S+)@', r'\1 @', s)

答案 1 :(得分:0)

您只想找到以空格分隔的的主题标签和用户名,并将其更改为以空格分隔。实际上,我们可以使用正则表达式来匹配这些。

sourceTweet = "lorem ipsum #dolor@sitamet Nullam sed est #vel@mi "
outputTweet = re.sub(r'(?<!\w)(#\w+)(@\w+)', r'\1 \2', sourceTweet)
#lorem ipsum #dolor @sitamet Nullam sed est #vel @mi
相关问题