[英]Python 3 Regex: remove all punctuation, except special word pattern
[英]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.