Skip to main content
 首页 » 编程设计

python之在数字前后添加空格(正则表达式)

2024年09月03日29xiaohuochai

我被困住了,这就是我向你寻求帮助的原因。 如果有
,我需要在数字前后的字符串中添加一个空格 前面没有数字,后面没有数字,前后没有空格。
这在示例中最为明显。

字符串:Adam20 Margaret30Tom 20 测试
预期结果:Adam 20 Margaret 30 Tom 20 test

我找到了这个部分解决方案,但我无法修改它,正则表达式是我的弱点。

import re 
line = "Adam20 Margaret30Tom 20 test" 
x=re.sub(r'(?<=[0-9])(?=[^\s])', r' ', line) 
print(x) 
>> Adam2 0 Margaret3 0 Tom 2 0 test*<br/> 

感谢您的帮助。

请您参考如下方法:

使用捕获组,并在替换中引用它:

>>> line = "Adam20 Margaret30Tom 20 test" 
>>> import re 
>>> re.sub(r' ?(\d+) ?', r' \1 ', line) 
'Adam 20 Margaret 30 Tom 20 test' 

解释:? 匹配 0 或 1 个空格,(\d+) 匹配 1 个或多个数字并将它们捕获到第 1 组,\1 在替换中使用组 1 的匹配内容。