从python中的文件中的行中删除整数值

时间:2014-07-21 08:36:49

标签: python

如何在python中删除文件行中的整数值? 这是我目前的输出

നട തുറന്നപ്പോള്‍ കൃഷ്ണന്‍ പുഞ്ചിരിച്ചു കൊണ്ട് നില്‍ക്കുക ആയിരുന്നു 1.
എന്തോ പറയുന്ന പോലെ തോന്നി 2.
കള്ള കൃഷ്ണന്‍ 3.
അവന് എന്നും ഇങ്ങനേ തന്നെ ആയിരുന്നു 4.

删除整数后我需要输出

നട തുറന്നപ്പോള്‍ കൃഷ്ണന്‍ പുഞ്ചിരിച്ചു കൊണ്ട് നില്‍ക്കുക ആയിരുന്നു .
എന്തോ പറയുന്ന പോലെ തോന്നി .
കള്ള കൃഷ്ണന്‍ .
അവന് എന്നും ഇങ്ങനേ തന്നെ ആയിരുന്നു .

3 个答案:

答案 0 :(得分:7)

使用正则表达式替换数字字符,例如

import re
re.sub(r'\d+', '', input_str)

答案 1 :(得分:0)

其他pythonic解决方案,

    >>> s = u'''നട തുറന്നപ്പോള്‍ കൃഷ്ണന്‍ പുഞ്ചിരിച്ചു കൊണ്ട് നില്‍ക്കുക ആയിരുന്നു 1.
എന്തോ പറയുന്ന പോലെ തോന്നി 2.
കള്ള കൃഷ്ണന്‍ 3.
അവന് എന്നും ഇങ്ങനേ തന്നെ ആയിരുന്നു 4.'''
    >>> print filter( lambda x: x not in '0123456789.', s )
    നട തുറന്നപ്പോള്‍ കൃഷ്ണന്‍ പുഞ്ചിരിച്ചു കൊണ്ട് നില്‍ക്കുക ആയിരുന്നു 
    എന്തോ പറയുന്ന പോലെ തോന്നി 
    കള്ള കൃഷ്ണന്‍ 
    അവന് എന്നും ഇങ്ങനേ തന്നെ ആയിരുന്നു 

PS:正则表达式更快

答案 2 :(得分:0)

使用unicode.translate()的另一种方式。比filter快,比正则表达式慢。

>>> s=u'''നട തുറന്നപ്പോള്‍ കൃഷ്ണന്‍ പുഞ്ചിരിച്ചു കൊണ്ട് നില്‍ക്കുക ആയിരുന്നു 1.
... എന്തോ പറയുന്ന പോലെ തോന്നി 2.
... കള്ള കൃഷ്ണന്‍ 3.
... അവന് എന്നും ഇങ്ങനേ തന്നെ ആയിരുന്നു 4.'''
>>> print s.translate({ord(s):None for s in string.digits})
നട തുറന്നപ്പോള്‍ കൃഷ്ണന്‍ പുഞ്ചിരിച്ചു കൊണ്ട് നില്‍ക്കുക ആയിരുന്നു .
എന്തോ പറയുന്ന പോലെ തോന്നി .
കള്ള കൃഷ്ണന്‍ .
അവന് എന്നും ഇങ്ങനേ തന്നെ ആയിരുന്നു .