如何在PYTHON中的每个数字后添加一个字符串?
问题描述:
说,我想改变字符串 'A =(X + 2.)*(Y + 3.) - '如何在PYTHON中的每个数字后添加一个字符串?
到
“A =(X + 2.0e0)*(y + 3.0e0) - 1.0e0'。
每个数字如2.或只是2应该改变。这个怎么做?
非常感谢!
答
给你写的评论,这样的正则表达式应该工作:
import re
str = 'A = (x+2.)*(y+3.)-1'
print re.sub(r'(\d+)\.?',r'\1.0e0',str)
输出:
A = (x+2.0e0)*(y+3.0e0)-1.0e0
正则表达式的说明:
-
(...)
- 意味着捕捉组,你需要到捕获更换 -
\d
期间重用 - 意味着任何数量的,相当于[0-9] -
+
- 装置,1个或更多次数,相当于{1,}
-
\.?
- 意味着我们想要0或1dot
。?
相当于{0,1}
在更换:
-
\1
- 意味着我们要采取第一捕获组和插入在这里
定义' “号”'。例如:“1.2.3 4.5 6,7.8,9.a.6.c.0e891.0”应该是什么结果? – bezmax 2012-03-23 22:02:13
格式的“数字”将是2.或2否1.2.3东西将存在于字符串中。谢谢 – agent99 2012-03-23 22:04:32