給定一個字符串作爲輸入,我想查找並將字符串的整數元素轉換爲字符串num
。這裏有一個例子:用文本文件中的字符串替換數字
輸入:
"abc 123 def 1 in 1s and 100MB"
輸出:
"abc >num<def>num< in 1s and 100MB"
我該怎麼辦呢?
給定一個字符串作爲輸入,我想查找並將字符串的整數元素轉換爲字符串num
。這裏有一個例子:用文本文件中的字符串替換數字
輸入:
"abc 123 def 1 in 1s and 100MB"
輸出:
"abc >num<def>num< in 1s and 100MB"
我該怎麼辦呢?
import re
s = "abc 123 def 1 in 1s and 100MB"
print(re.sub(r"\b\d+\b", ">num<", s))
# output: "abc >num<def>num< in 1s and 100MB"
正則表達式串r"\b\d+\b"
,其由通過字邊界(\b
)包圍的至少一個數字字符(\d+
)的字符串相匹配。 \b
部分也匹配字符串的開頭和結尾。
到re.sub()
呼叫由第二個參數(">num<"
)取代在第三個參數s
匹配字符串的所有出現。
這就是這樣。
text_in = "abc 123 def 1 in 1s and 100MB"
text_out = ' '.join(['>num<' if x.isnumeric() else x for x in text_in.split()])
print(text_out) # prints: abc >num<def>num< in 1s and 100MB
我冒昧地認爲,你可以從文件中讀取的文本,也可以寫新的文本文件,所以我跳過那些部分。
這一切歸結爲使用isnumeric()
。
問題是什麼? –
呵呵?不知道這裏發生了什麼 – The4thIceman
它是最高級別的編程語言:) – kimreik