从字符串中删除数字

时间:2012-05-04 19:11:28

标签: python algorithm nlp

所以,我正在处理一个文本文件,我正在对字符串

进行以下操作
     def string_operations(string):

        1) lowercase
        2) remove integers from string
        3) remove symbols
        4) stemming

在此之后,我仍然留下如下字符串:

  durham 28x23

我看到了我的方法中的缺陷,但想知道是否有一种好的,快速的方法来识别字符串是否附加了数值。

所以在上面的例子中,我希望输出为

  durham

另一个例子:

 21st ammendment

应该给:

ammendment

那我该如何处理这些东西?

1 个答案:

答案 0 :(得分:5)

如果您的要求是“删除任何以数字开头的条款”,您可以执行以下操作:

def removeNumerics(s):
  return ' '.join([term for term in s.split() if not term[0].isdigit()])

这会将字符串拆分为空格,然后用空格连接所有不以数字开头的字词。

它的工作原理如下:

>>> removeNumerics('21st amendment')
'amendment'
>>> removeNumerics('durham 28x23')
'durham'

如果这不是你想要的,可以在你的问题中显示一些明确的例子(显示初始字符串和你想要的结果)。