消除Python中句子中的数字

时间:2015-03-21 07:25:08

标签: python

我正在从xml文件解析并尝试为xml中的每个上下文构建一个字典。我已经成功解析了,现在我需要摆脱我得到的字符串中的停用词,标点符号和数字。

然而,出于某种原因,我无法摆脱这些数字,我整晚都在调试,希望有人能帮助我......

def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        return False

我一直在检查方法' is_number'工作正常,但我不知道为什么它仍然可以通过if语句:

if (words[headIndex + index] not in cachedStopWords) and ~isNumber:

提前致谢!

1 个答案:

答案 0 :(得分:2)

问题是:

~isNumber

~bitwise not operator。您想要not boolean operator

>>> ~True
-2
>>> ~False
-1
>>> not True
False
>>> not False
True

按位运算符会导致~isNumber始终为真值(-1-2),因此输入了if语句。