Python
 Computer >> コンピューター >  >> プログラミング >> Python

文字列から最大数値を抽出するPython正規表現


正規表現を使用して文字列から最大数値を抽出する最も簡単な方法は、-

です。
  • 正規表現モジュールを使用して、文字列からすべての数値を抽出します
  • これらの数値から最大値を見つけます

たとえば、入力文字列の場合-

この都市には121005人、隣接する都市には1587469人、遠く離れた都市には18775994人がいます。

出力を取得する必要があります-

18775994

\ dは数字を示し、プラス記号は連続する数字の最長の文字列を検索するため、「\d+」正規表現を使用して文字列内のすべての数字を検索できます。次のようにreパッケージを使用して実装できます-

import re

# Extract all numeric values from the string.
occ = re.findall("\d+", "There are 121005 people in this city, 1587469 in the neighbouring city and 18775994 in a far off city.")

# Convert the numeric values from string to int.
num_list = map(int, occ)

# Find and print the max
print(max(num_list))

これにより、出力が得られます-

18775994

  1. Pythonで文字列から日付を抽出する方法は?

    文字列を抽出するには、文字列に含めることができる日付の形式を知っている必要があります。正規表現を使用して日付を抽出し、「datetime.datetime.strptime」を使用して日付を解析するだけです。たとえば、YYYY-MM-DDの形式の文字列に日付がある場合は、次のコードを使用してこの日付を抽出および解析できます。 例 import re, datetime s = "I have a meeting on 2018-12-10 in New York" match = re.search('\d{4}-\d{2}-\d{2}', s) date

  2. Pythonで文字列内から部分文字列を抽出するにはどうすればよいですか?

    正規表現でグループキャプチャを使用して、文字列内から部分文字列を抽出できます。抽出する部分文字列の形式と周囲を知る必要があります。たとえば、ある行があり、その行から$ xxx、xxx.xxの形式でお金の情報を抽出したい場合は、次を使用できます。 import re text = 'The phone is priced at $15,745.95 and has a camera.' m = re.search('(\$[0-9\,]*.[0-9]{2})', text) if m:     print m.group(1) これにより、出