【问题标题】:How to replace only particular dots in the string?如何仅替换字符串中的特定点?
【发布时间】:2013-05-25 18:44:05
【问题描述】:

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

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'

提前致谢。

【问题讨论】:

    标签: python string replace


    【解决方案1】:
    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”(组是对应的数字)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-05
      • 1970-01-01
      • 1970-01-01
      • 2022-06-16
      • 1970-01-01
      • 2016-11-20
      • 2017-12-09
      相关资源
      最近更新 更多