我想刪除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