繁体   English   中英

如何使用Python替换字符串中的数值?

[英]How to substitute a numeric value in a string using Python?

我需要使用Python脚本修改C源文件。 我将如何更改此字符串:

#define MY_STRING      0

至:

#define MY_STRING      1

使用Python正则表达式?

理想情况下,该解决方案应在数值之前容纳未知数量的空格。

(基本上,我不知道如何指定原始字符串减去新字符串中的数值)。

在数字和文本之间使用\\s+表示任意数量的空格。

code = re.sub('define MY_STRING\s+0', 'define MY_STRING 1', code);

如果要像原始字符串一样在数字前保留相同数量的空格,则必须捕获它,然后在替换时使用它。

code = re.sub('(define MY_STRING\s+)0', "\\1 1", code);
## \\1 is the captured group on regex inside (...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM