首页 > 解决方案 > 使用正则表达式删除单个标点符号

问题描述

我有加入单词和不加入单词的标点符号。我想删除一些我认为不必要的标点符号

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

标签: regexpython-3.xstring

解决方案


如果要删除前后#没有非空白字符的位置,可以使用环视\S

(?<!\S)#(?!\S)

正则表达式演示| Python 演示

例如:

import re

sentence = "@alham sedang bermain @brenx main #gantipresiden dan makan-makan? #"
regex = r"(?<!\S)#(?!\S)"
sentence = re.sub(regex, "", sentence)
print(sentence)

结果

@alham sateng bermain @brenx main #gantipresiden dan makan-makan?


推荐阅读