[英]How to remove words containing only numbers in python?
我在Python中有一些由數字和字母組成的文本。 像這樣的東西:
s = "12 word word2"
從字符串s,我想刪除所有只包含數字的單詞
所以我想要結果
s = "word word2"
這是我的正則表達式,但它適用於字母表,即它用空格替換每個字母表。
re.sub('[\ 0-9\ ]+', ' ', line)
有人可以幫我告訴我什么是錯的嗎? 此外,還有比正則表達式更有效的方法嗎?
謝謝!
在這里使用正則表達式可能有點過分,這取決於您是否需要保留空格:
s = "12 word word2"
s2 = ' '.join(word for word in s.split() if not word.isdigit())
# 'word word2'
你可以使用這個正則表達式:
>>> s = "12 word word2"
>>> print re.sub(r'\b[0-9]+\b\s*', '', s)
word word2
\\b
用於單詞邊界, \\s*
將刪除數字后的0或更多空格。
不使用任何外部庫,您可以這樣做:
stringToFormat = "12 word word2"
words = ""
for word in stringToFormat.split(" "):
try:
int(word)
except ValueError:
words += "{} ".format(word)
print(words)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.