繁体   English   中英

如何使用 python 中的正则表达式删除除某些特殊字符外的所有特殊字符

[英]How to remove all special characters except for some, using regex in python

我有这个字符串:".#€f#$#" 我想使用正则表达式删除开头和结尾的所有特殊字符,并在遇到第一个被排除的字符时停止,让我们说字符 ["$", " €"] 被排除在外。 结果应该是“€f#$”,也。 我有不同的字符列表,它们从开头被排除在外,在结尾处不同。


text = "!#€f#$#"
newtext = re.sub("\W*$", "", text)


这只会影响结尾字符,它会毫无例外地删除所有特殊字符

您可以使用

import re
text = "!#€f#$#"
newtext = re.sub(r"^[^\w$€]+|[^\w$€]+$", "", text)
print(newtext)

请参阅Python 演示

细节

  • ^[^\w$€]+ - 字符串开头 ( ^ ) 和 1 个或多个除单词字符之外的字符$和 € ( [^\w$€]+`)
  • | - 或者
  • [^\w$€]+$ - 除了单词字符、 $和 € and end of string ( $`) 之外的 1 个或多个字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM