[英]Removing numbers from string while keeping alphanumeric words
我想刪除數值而不丟失作為字符串中字母數字單詞一部分的數字。
String = "Jobid JD123 has been abended with code 346"
Result = "Jobid JD123 has been abended with code"
我正在使用以下代碼:
result = ''.join([i for i in String if not i.isdigit()])
結果是“ Jobid JD has been abended with code
”
無論如何我們可以刪除只包含數字的單詞,同時保留包含字母和數字混合的單詞嗎?
您可以使用正則表達式查找兩個單詞邊界\b
之間的一個或多個數字\d+
的運行,並將它們替換為空。
>>> import re
>>> string = "Jobid JD123 has been abended with code 346"
>>> re.sub(r"\b\d+\b", "", string).strip()
'Jobid JD123 has been abended with code'
請注意,正則表達式不會去掉尾隨空格( "code"
和數字之間),因此您需要strip()
的結果re.sub()
。
使用.isnumeric()
刪除任何不只包含數字的單詞:
s = "Jobid JD123 has been abended with code 346"
result = ' '.join(c for c in s.split() if not c.isnumeric())
print(result)
這輸出:
Jobid JD123 has been abended with code
將字符串split
為單詞並檢查整個單詞是否為數字
Result = " ".join(word for word in String.split() if not word.isnumeric())
>>> Result
'Jobid JD123 has been abended with code'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.