如何只替换字符串中的特定点?

时间:2013-05-25 18:44:06

标签: python string replace

如何仅替换文本字符串中的特定点?:

string_expample = '123|4.3|123.54|sdflk|hfghjkkf.ffg..t.s..9.7..tg..3..654..2.fd'

我只需要获得1和2位数之间的点(4.3来自| 4.3 |; 3.5来自123.54等) 在原始字符串中用逗号替换,是否可能? 如果是这样,怎么样? 因此,结果字符串必须是:

string_final = '123|4,3|123,54|sdflk|hfghjkkf.ffg..t.s..9,7..tg..3...654..2.fd'

提前致谢。

1 个答案:

答案 0 :(得分:5)

import re

string_example = '123|4.3|123.54|sdflk|hfghjkkf.ffg..t.s..4..tg..3...654..2.fd'

string_final = re.sub(r'(\d)\.(\d)', r'\1,\2', string_example)
print(string_final)
123|4,3|123,54|sdflk|hfghjkkf.ffg..t.s..4..tg..3...654..2.fd

我们使用regular expression查找“digit . digit”(将数字捕获到带圆括号的组中)并将其替换为“group 1 , group 2“(组是相应的数字)。