【发布时间】:2018-06-29 14:32:00
【问题描述】:
我目前正在尝试用字符串中的第 x 个参数替换数字 x 的出现。这是我的代码:
def simple_format(format, *args):
res = format.replace("%", "")
for x in res:
if (isinstance(x, int)):
res = res.replace(x, args(x))
return res
第一个替换用于删除字符串中出现的%,接下来是检查遇到的变量是否为数字,如果是,则将其替换为参数。
例如,
simple_format("hello %0", "world", "Ben") 应该返回 "hello world"。未达到所需的输出。错误是什么?有没有办法使用替换方法来做到这一点?
提前致谢。
【问题讨论】:
-
我认为在您的示例中,0 被视为 str 而不是 int,您应该验证 x 是否属于 [0-9] 然后将其转换为 int
-
会检查的。非常感谢!!
标签: python replace isinstance