如何从正则表达式中排除空格,但不会忽略特殊字符。我目前的代码是: -
pattern=re.compile("[^\w]")
var = pattern.sub('', var)
我知道\ w会删除所有空格字符,但是如何只排除空格?
示例:
var = "hi this is test!@#$%%^^"
在正则表达式之后它将成为:
var = "hi this is test"
答案 0 :(得分:5)
[^a-zA-Z\d\s]
删除所有内容,留下字母,数字和空格。
答案 1 :(得分:0)
为什么不只是re.compile('\s')
?
答案 2 :(得分:0)
如果我理解你,你想删除所有字符,而不是单词字符或分隔它们的空格。如果这是正确的,那么以下似乎可以解决这个问题:
var = "hi this is test!@#$%%^^"
pattern=re.compile("[^\w ]")
var = pattern.sub('', var)
这里唯一的变化是我在方括号内的^\w
之后添加了一个空格。当我运行它时,我得到以下结果:
>>> print var
hi this is test