【发布时间】:2019-05-20 07:14:30
【问题描述】:
我希望我的代码只返回特殊字符 [".", "*", "=", ","]
我想删除所有数字/字母字符("\W") 和所有空格("\S")
import re
original_string = "John is happy. He owns 3*4=12, apples"
new_string = re.findall("\W\S",original_string)
print(new_string)
但是我得到了这个作为我的输出:
[' i', ' h', ' H', ' o', ' 3', '*4', '=1', ' a']
我完全不知道为什么会发生这种情况。因此我有两个问题:
1) 使用正则表达式是否可以实现我的目标
2) 我的代码到底发生了什么?
【问题讨论】:
-
@Toto 我完全赞成以重复的形式结束问题,但我有点怀疑在这种情况下将如此广泛的帖子作为目标的有用性。如果你能找到更具体的帖子,那就太好了。
-
@cs95:它解释了第三段中
\w&\W和\s&\S之间的区别:“字符类” -
@cs95:我理解你的观点,重开问题。