一个更好的方法来进行多次替换?

时间:2012-03-04 21:14:37

标签: javascript

var type = event.type.replace('page', 'Page').replace('init', 'Init').replace('before', 'Before').replace('show', 'Show').replace('hide', 'Hide');

有人能想出更好的方法吗?

2 个答案:

答案 0 :(得分:7)

您可以将RegExp与.replace()一起使用,将函数作为第二个参数传递(=纯JavaScript):

var type = event.type.replace(/page|init|before|show|hide/, function(s) {
    return s.charAt(0).toUpperCase() + s.slice(1);
});

答案 1 :(得分:2)

你有什么好。还有另一种方法:

var type = event.type.replace(/page|init|before|show|hide/g, function(m) {
    return m.substring(0,1).toUpperCase() + m.substring(1);
});

Live example

或者在一般情况下(不限于显示的字符串集):

var type = event.type.replace(/(\S)(\S+)/g, function(m, c1, c2) {
    return c1.toUpperCase() + (c2 ? c2 : "");
});

Live example