我想在JavaScript中对以下形式的字符串执行ucwords()
:test1_test2_test3,它应返回Test1_Test2_Test3。
我已经在SO上找到一个ucwords
函数,但是它只占用空间作为新单词分隔符。这是函数:
function ucwords(str) {
return (str + '').replace(/^([a-z])|\s+([a-z])/g, function ($1) {
return $1.toUpperCase();
});
有人可以帮忙吗?
最佳答案
只需在可接受的分词列表中添加下划线即可:
function ucwords(str) {
return (str + '').replace(/^([a-z])|[\s_]+([a-z])/g, function ($1) {
return $1.toUpperCase();
})
};
如您所见,我将
\s+
的位替换为[\s_]+
实时示例:http://jsfiddle.net/Bs8ZG/