首页 > 解决方案 > 匹配所有出现的点并在字符串中的单词后用连字符替换

问题描述

拿这个字符串

version = follow('java.coding.language_v1','3.2.4')

在跟随这个词之后,我想在逗号之前的所有内容上用连字符替换所有点,有许多字符串将遵循相同的模式,但逗号之前的点数会有所不同:

示例 转换后,字符串将如下所示:

version = follow('java-coding-language_v1','3.2.4')

我使用了一个积极的lookbehind,它到达了字符串中的点,我想开始用连字符替换点,但之后就可以匹配点。

(?<=follow\(')

标签: pythonregex

解决方案


version = "follow('java.coding.language_v1','3.2.4')"
print (version[0:version.find(",")].replace(".","-")+version[version.find(","):])
  • version[0:version.find(",")]获取字符串的前缀,直到它以 "," ( follow('java.coding.language_v1')结尾
  • version[0:version.find(",")].replace(".","-")follow('java-coding-language_v1'将前缀字符串 ( )中的 .'s 替换为 -'s
  • version[0:version.find(",")].replace(".","-")+version[version.find(","):])附加后缀(剩余)字符串 ( follow('java-coding-language_v1','3.2.4'))

推荐阅读