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