2017-10-16 10 views
0

文字列を単語にトークン化してから、数字を含む単語を削除します。単語に数字が含まれているか確認してください。

tokens = ['hello', 'world', '12', '1-3', '23''] 

ご覧のとおり、数値はさまざまな形式で表示されます。上記の3つは単なる例です。文字列アイテムをループして数字があるかどうかを確認し、その文字列を削除できます。しかし、それは正しいとは思わない。

isdigit()関数は、このような数値文字列では機能しません。どうすればこれを達成できますか?

目標:数字を含むトークンはすべて削除する必要があります。

relevant_tokens = [token for token in tokens if not token.isdigit()] 
+6

[ 'relevant_tokensの= [トークントークンのトークンでない場合は任意の(c.isdigit()トークンでC用): 私の現在のコードは、上記のタイプに対応していないこのようなものがあります] '](https://ideone.com/WYIxED)? –

+0

これはあなたを助けることができます:https://stackoverflow.com/q/30141233/5596800 –

+0

import re; result = [len(re.findall( "\ d +"、token))== 0]トークンのトークンのトークン – Silencer

答えて

0
import re 
tokens = [token for token in tokens if not re.match('.*\d+', token)] 
+0

're.match( '\ d +'、token)' は 'abc5'を検出しません。 –

+0

固定、@WiktorStribiżew – MohitC

+0

@MohitC上記のコメントの提案に基づいてあなたの回答を更新してください。私はそれを受け入れることができます、特にWiktorから受け入れます。 – utengr

関連する問題