簡體   English   中英

如何刪除python中只包含數字的單詞?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM