【发布时间】:2011-10-05 14:29:59
【问题描述】:
以下内容虽然多余,但效果很好:
'leap of, faith'.replace(/([^ \t]+)/g,"$1");
并打印“飞跃,信仰”,但在以下内容中:
'leap of, faith'.replace(/([^ \t]+)/g,RegExp.$1); 打印“faith 信念信念”
因此,当我希望将每个单词的第一个字符大写时:
'leap of, faith'.replace(/([^ \t]+)/g,RegExp.$1.capitalize());
它不起作用。也没有,
'leap of, faith'.replace(/([^ \t]+)/g,"$1".capitalize);
因为它可能在替换组值之前将“$1”大写。
我想用原型的 capitalize() 方法在一行中做到这一点
【问题讨论】:
-
你为什么不使用
.toUpperCase()method? -
将字符串中的所有字符转换为大写,而OP只想转换第一个字符。
-
你可以使用 toUpper + 你的答案
str.replace(/\b[a-z]/g, function() {return arguments[0].toUpperCase()})
标签: javascript regex capitalization