文字列中の部分文字列を浮動小数点数に置換する方法


  1. 正規表現を使用する方法: 正規表現を使って、文字列内の数値のパターンに一致する部分文字列を検索し、それらを浮動小数点数に置換します。
import re
def replace_substrings_to_float(input_string):
    pattern = r'\d+(\.\d+)?'  # 数値のパターンを定義する正規表現
    matches = re.findall(pattern, input_string)  # パターンに一致する部分文字列を検索する
    for match in matches:
        float_value = float(match)  # 部分文字列を浮動小数点数に変換する
        input_string = input_string.replace(match, str(float_value))  # 部分文字列を浮動小数点数で置換する
    return input_string
# 使用例:
input_string = "価格は$25.99です。"
output_string = replace_substrings_to_float(input_string)
print(output_string)  # 出力: "価格は$25.99です。"
  1. 数字の列挙を使用する方法: 文字列を単語や文字で分割し、各部分文字列が浮動小数点数に変換可能かどうかをチェックします。変換可能な場合は置換します。
def replace_substrings_to_float(input_string):
    words = input_string.split()  # 文字列を単語で分割する
    for i in range(len(words)):
        try:
            float_value = float(words[i])  # 浮動小数点数に変換できるかチェックする
            words[i] = str(float_value)  # 浮動小数点数で置換する
        except ValueError:
            pass  # 変換できない場合はスキップする
    return ' '.join(words)  # 置換後の単語を結合して文字列に戻す
# 使用例:
input_string = "重量は3.5キログラムです。"
output_string = replace_substrings_to_float(input_string)
print(output_string)  # 出力: "重量は3.5キログラムです。"

以上のように、正規表現や数値の列挙を使用することで、文字列中の部分文字列を浮動小数点数に置換することができます。これらの方法を活用して、目的に応じたコードを作成してください。