1

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

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

我知道 \w 将删除所有空白字符,但如何仅排除空格?

例子:

var = "hi this is test!@#$%%^^"

正则表达式后,它将变为:

var = "hi this is test"
4

3 回答 3

5
[^a-zA-Z\d\s]

这会删除所有内容,留下字母、数字和空格。

于 2013-03-04T04:44:53.460 回答
0

为什么不只是re.compile('\s')

于 2013-03-04T04:37:27.620 回答
0

如果我的理解正确,您希望删除所有字符,而不是单词字符或分隔它们的空格。如果这是正确的,那么似乎以下方法可以解决问题:

var = "hi this is test!@#$%%^^"
pattern=re.compile("[^\w ]")
var = pattern.sub('', var)

这里唯一的变化是我在^\w方括号内添加了一个空格。当我运行它时,我得到以下结果:

>>> print var
hi this is test
于 2013-03-04T05:32:44.353 回答