如何'#'从字符串中的单词中删除'#',而不仅仅是'#'它本身存在,在单词中间甚至在末尾。目前我正在使用正则表达式:test = "# #DataScience"
test = re.sub(r'\b#\w\w*\b', '', test)用于从以开头的单词中删除“#”'#'但它根本不起作用。它按原样返回字符串谁能告诉我为什么"#"没有被识别和删除?例子 -测试 - "# #DataScience"预期输出 - "# DataScience"测试 - "kjndjk#jnjkd"预期输出 - "kjndjk#jnjkd"测试 - "# #DataScience #KJSBDKJ kjndjk#jnjkd #jkzcjkh# iusadhuish#""预期输出 -"# DataScience KJSBDKJ kjndjk#jnjkd jkzcjkh# iusadhuish#"
3 回答

炎炎设计
TA贡献1808条经验 获得超4个赞
尝试这个 :
test ="# #DataScience #KJSBDKJ kjndjk#jnjkd #jkzcjkh# iusadhuish#"
test = re.sub(r'(?<!\S)#(?=\S)', '', test)
输出 :
# DataScience KJSBDKJ kjndjk#jnjkd jkzcjkh# iusadhuish#

沧海一幻觉
TA贡献1824条经验 获得超5个赞
我知道有一个公认的答案,但我想出了这个似乎也能正常工作的正则表达式,我个人更喜欢这个,因为它对我来说更容易阅读:
(\A|[^#\d\w])#\w\w*\b
添加回答
举报
0/150
提交
取消