Pythonでは、文字列内の特定の文字を別の文字に置換するためにreplace
メソッドを使用します。しかし、特定のパターンに一致する部分だけを置換したい場合はどうすればよいでしょうか?例えば、文字列内のドット.
をカンマ,
に置換したいとします。ただし、末尾の2つの数字の前のドットは置換しないとします。
このような場合、Pythonの正規表現を使用することで解決できます。以下に具体的なコードを示します。
import re
# 置換対象の文字列
target_text = '1,000.000.00'
# 置換ルールを定義(末尾2つの数字の前のドットは除く)
replace_rule = re.compile('\\.(?!\\d{2}$)')
# 置換を実行
text = replace_rule.sub(',', target_text)
このコードを実行すると、target_text
の'1,000.000.00'
が'1,000,000.00'
に置換されます。このように、Pythonの正規表現を使用することで、複雑な文字列操作を行うことができます。
なお、このコードは3つ区切りのドットだけを置換します。例えば'1,000.0'
は'1,000,0'
となります。3つ区切りのドットだけを置換したい場合は、以下のようにコードを修正します。
import re
# 置換対象の文字列
target_text = '1.000.00.00'
# 置換ルールを定義(3つ区切りのドットだけを対象とする)
replace_rule = re.compile('\\.(\\d{3})')
# 置換を実行
text = replace_rule.sub(r',\\1', target_text)
このコードを実行すると、target_text
の'1.000.00.00'
が'1,000.00.00'
に置換されます。
以上がPythonで文字列内のドットをカンマに置換する方法です。この記事が皆さんの役に立てば幸いです。