我试图替换文件中的字符串,即版本号4.0.0至5.0.0。但是,使用替换方法时,24.0.0等版本也会发生更改,这是不可取的。Python中的高级字符串替换
例如:我希望4.0.0在整个文件中更改为5.0.0。但是,24.0.0应该保持原样。
我写为简单的字符串替换的代码[fo是我在这里的文件]:
fo = open ('ex.txt', 'r')
for line in fo:
print(line.replace('4.0.0', '5.0.0'))
样品输入:
This is a file
It contains a version number
That version number is 24.0.0
Ideally, it should remain 4.0.0
But 4.0.0 should get changed
所需的输出是
This is a file
It contains a version number
That version number is 24.0.0
Ideally, it should remain 5.0.0
But 5.0.0 should get changed
第二重新给出的解决方案工作正常24.0.0。但4.0.0.15正在变为5.0.0.15,那是不可取的
print(re.sub(r'\ b4.0.0 [^。'','5.0.0',line))),但它用5.0.0代替4,0.0。那也不可取。
请帮忙。
请提供您编写的代码。这样社区可以更好地帮助你。 – TheChetan
你能提供代码和字符串的一部分吗? – Mohamed
使用[字界](http://www.regular-expressions.info/wordboundaries.html) – ggupta