2

如何将用户输入转换go 30,45go(30,45)

到目前为止,我有:

input = "go 30,45"
output = re.sub(r'go (\d+)', r'go(\1,\1)', input)

但是这似乎不起作用,我知道它可能归结为 (\1,\1) 但我可以改变什么来获得所需的输出?

谢谢

4

2 回答 2

1

尝试这个:

inpt = "go 30,45"
output = re.sub(r'go (\d+,\d+)', r'go(\1)', inpt)  # 'go(30,45)'

请注意,您应该避免将input其用作变量名,因为它已被保留。

于 2012-11-18T16:21:39.480 回答
0

您可以使用re@ARS 演示的方法来执行此操作,但在这种情况下,我可能只使用 str 内置方法...

'{0}({1})'.format(*"go 30,45".split())
于 2012-11-18T16:28:51.583 回答