Python:从正则表达式中排除空格

时间:2013-03-04 04:36:17

标签: python regex string space

如何从正则表达式中排除空格,但不会忽略特殊字符。我目前的代码是: -

pattern=re.compile("[^\w]")
var = pattern.sub('', var)

我知道\ w会删除所有空格字符,但是如何只排除空格?

示例:

var = "hi this is test!@#$%%^^"
在正则表达式之后它将成为:

var = "hi this is test"

3 个答案:

答案 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