我的标点符号连接了这个词,却没有连接这个词。我想删除一些我认为不必要的标点符号
sentence = "@alham sedang bermain @brenx main #gantipresiden dan makan-makan? #"
我想要这样的句子:
@alham sedang bermain @brenx main #gantipresiden dan makan-makan?
您可以看到我的代码: https://regex101.com/r/ByqWrH/1
答案 0 :(得分:1)
如果您要删除#
之前和之后没有非空格字符\S
的地方,则可以使用lookarounds:
(?<!\S)#(?!\S)
例如:
import re
sentence = "@alham sedang bermain @brenx main #gantipresiden dan makan-makan? #"
regex = r"(?<!\S)#(?!\S)"
sentence = re.sub(regex, "", sentence)
print(sentence)
结果
@alham sedang bermain @brenx main #gantipresiden dan makan-makan?
答案 1 :(得分:0)
尝试匹配# ... #
,然后在没有结束#
标记的情况下进行替换:
sentence = "@alham sedang bermain @brenx main #gantipresiden dan makan-makan? #"
output = re.sub(r'#([^#]+?)[ ]*#', '#\\1', sentence)
print(output)
此打印:
@alham sedang bermain @brenx main #gantipresiden dan makan-makan?