【发布时间】:2017-07-04 20:36:15
【问题描述】:
假设一个模板 javascript 字符串是这样的:
js_string = u'function hello() { alert({0}); } function goodbye() { alert({1}); }'
我想得到以下结果:
function hello() { alert('Hello!'); } function goodbye() { alert('Goodbye!'); }
我最初的想法是使用 .format() 方法,由于任意花括号导致 KeyError。然后,我查看了this 问题,并将所述花括号替换为双花括号。虽然这会产生预期的结果,但我无法使用它,因为我正在使用一个相当大的 javascript 模板,并且无法更改每个大括号。
我也试过 .replace() 函数:
js_string.replace("{0}", repr("Hello!")).replace("{1}", repr("Goodbye!"))
但是,多次调用 .replace() 对我来说似乎很不方便,这就是为什么我要问是否有任何直接的替代方法来解决这个问题。
【问题讨论】:
-
您是否在模板中插入了数据以外的任何内容?您可以只制作一个仅包含变量定义的模板并单独添加实际代码。
标签: javascript python string