1

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

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;123.54 中的 3.5 等)替换为原始字符串中的逗号,这可能吗?如果是这样,怎么做?因此,结果字符串必须是:

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

提前致谢。

4

1 回答 1

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..ts.4..tg..3...654.​​.2.fd

我们使用正则表达式查找“ digit . digit​​”(将数字捕获到带括号的组中)并将它们替换为“ group 1 , group 2”(这些组是对应的数字)。

于 2013-05-25T18:47:47.410 回答