1. ホーム
  2. python

[解決済み] Pythonで文字列から数字を抽出する方法とは?

2022-02-15 18:11:33

質問

ある文字列に含まれるすべての数字を抽出したい。正規表現と isdigit() メソッドを使用できますか?

line = "hello 12 hi 89"

結果

[12, 89]

解決方法は?

正の整数だけを抽出したい場合は、以下を試してみてください。

>>> txt = "h3110 23 cat 444.4 rabbit 11 2 dog"
>>> [int(s) for s in txt.split() if s.isdigit()]
[23, 11, 2]

これは正規表現の例よりも優れていると言えるでしょう。なぜなら、別のモジュールが必要なく、また ミニ言語 regex .

これは、浮動小数点数、負の整数、16進数の整数を認識しません。 これらの制限を受け入れない場合は jmnasの回答は以下の通りです。 を使えばいいのです。