![](/img/trans.png)
[英]How to get rid of words with special characters in Python using regular expressions?
[英]How do I get rid of repeating special characters with regular expressions?
我想去掉所有重复的点,除了一个点。
资料来源:
(1) "a... b."
(2) "a....... b... c."
我想要的结果:
(1) "a b."
(2) "a b c."
代码:
import re
a = "a... b."
b = "a....... b... c."
result = re.sub("[^a-zA-Z0-9 \\.{1}]", "", a)
print(result)
result = re.sub("[^a-zA-Z0-9 \\.{1}]", "", b)
print(result)
result = re.sub("[^a-zA-Z0-9 ][\\.{2,}]", "", a)
print(result)
result = re.sub("[^a-zA-Z0-9 ][\\.{2,}]", "", b)
print(result)
不工作。
我该怎么做才能得到我的结果?
下面的代码可以完成所需的任务
import re
result = re.sub("\\.{2,}","","a....b....c.d....e.")
print(result)
结果将是——
abc.de。
这将起作用:
import re
a = "a... b."
b = "a....... b... c."
result = re.sub("\\.{2,}","", a)
print(result)
result = re.sub("\\.{2,}","", b)
print(result)
您可以使用
re.sub(r'\.{2,}|[^a-zA-Z0-9.\s]', '', text)
请参阅正则表达式演示。
详情:
\.{2,}
- 两个或更多点|
- 或者[^a-zA-Z0-9.\s]
- 除 ASCII 字母、数字、任何空格或.
字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.