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