如何在PYTHON中的字符串中的每个数字后面添加一些东西?

时间:2012-03-23 21:59:14

标签: python string

说,我想更改字符串'A =(x + 2。)*(y + 3。) - 1 '< / p>

'A =(x + 2.0e0 )*(y + 3.0e0 ) - 1.0e0 '。

应该更改每个数字,例如2或2。怎么做?

非常感谢!

2 个答案:

答案 0 :(得分:6)

鉴于你写的评论,这种正则表达式应该有效:

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,}
  • \.? - 表示我们想要0或1 dot?相当于{0,1}

替代:

  • \1 - 表示我们想要首先捕获组并将其插入此处

答案 1 :(得分:2)

您将要查看re module。具体来说,re.sub()。阅读该功能的完整文档。它可以做一些相当强大的事情。无论是for match in re.findall()构造还是其他东西。