我想删除3或小于3位的数字。有人可以帮助我一个这样做的正则表达式吗?如何创建匹配3或小于3位数字的正则表达式?
目前,我的代码删除了它找到的所有数字。
# Cleans Numbers
def cleanNumbers(stringToClean):
stringToClean = re.sub(r'[0-9]*', r'', stringToClean)
print 'String after cleaning : %s' %stringToClean
return stringToClean
数字将被空间包围。示例字符串我传递给函数:
一段时间后Win8客户端上的连接中断。 [持久] 123 1 22 333 4444 554665 645fdgf45 ds3434 457870978934787843 345342kl
我调用上面的功能如下:
# Main function, calls other functions
def main():
# Parsing the input query
searchQuery = open('input.txt', 'r').read()
print 'Input query : %s' %searchQuery
# Cleaning the input query
string = CleanUpText.cleanNumbers(searchQuery)
你能不能让你的心,如果你想“删除少于3位数字“或”3或少于3位数字“? – Jens 2013-02-26 21:16:53
数字是否被空格或其他(非数字)字符包围,或者是什么?你有一些样本字符串? – iamnotmaynard 2013-02-26 21:24:42
@iamnotmaynard没关系。如果数字被数字包围(?!),他们会是......更大的数字。根据定义,它们会比三位数字长,并且不会被删除。 – Madbreaks 2013-02-26 21:26:17