【发布时间】:2013-01-23 21:35:19
【问题描述】:
我正在用 Javascript 构建一个包含 HTML 的字符串。
现在,我正在做这样的事情:
var filter = "";
filter = util.getTemplate( "tmp_filter", temps );
filter = filter.replace( 'id="tmp_filter"','');
if (dyn.table.i18n) {
filter = filter.replace(util.regex.re_text, dyn.filter.clear_tx);
} else {
filter = filter.replace('data-i18n="[title]tmp_text"', 'title="'+dyn.filter.clear_tx+'" ');
filter = filter.replace('data-i18n="tmp_text">','>'+dyn.filter.clear_tx);
}
filter = filter.replace(util.regex.re_theme, dyn.filter.theme);
filter = filter.replace(util.regex.re_icon, dyn.filter.icon);
filter = filter.replace(util.regex.re_iconpos, dyn.filter.iconpos);
filter = filter.replace('class="ui-listview-filter ', 'class="ui-listview-filter '+ dyn.custom_classes[0]+' ');
这会拉取一个模板并将所有占位符替换为dyn 中指定的数据。
虽然这可行,但需要大量替换调用。在 SQL 中,我可以嵌套这样的替换调用
SELECT LEN(REPLACE(REPLACE(address, ' CA', ''), ' NY', '')) FROM Tbl
问题:
Javascript 中是否有更好的方法来进行多次 replace 调用?我不介意代码的长度,但我对filter = filter.replace 有点不安。只是想知道是否有更好的方法?
谢谢!
【问题讨论】:
-
你可以链接所有替换
-
好的。试试这个。谢谢
-
请回答,以便我检查
标签: javascript jquery string performance replace