我写了驼峰字符串的函数(要求是把单词开头和每个连字符后面的字符踢起来,这是针对人名)。
function sadCamelize(input) {
return input.toLowerCase().replace(/([-\s])(.)/g,
function(match, separator, starter) {
return separator + starter.toUpperCase();
});
}
现在,我想让我的 Camel 开心,这样即使是字符串的第一个字符(不是后续空格也不是连字符)都会被启动。 Id est,而不是:
HONKA-HONKA -> honka-Honka
我想得到
HONKA-HONKA -> Honka-Honka
此刻我卡住了,可能是因为烦恼。所有的 Camel 都很沮丧,我也是如此。另外 - 我所说的悲伤/快乐 Camel (头向下/向上)的正确命名是什么?
最佳答案
function happyCamelize(str) {
return str.replace(/([a-z])([a-z]+)/gi, function(_, $1, $2) {
// _: The entire matched string. not used here.
// $1: The first group. The first alphabet.
// $2: The second group. The rest alphabets.
return $1.toUpperCase() + $2.toLowerCase();
});
}
例子:
happyCamelize('HONKA-HONKA') // "Honka-Honka"
注意这段代码不会改变单字长度。
happyCamelize('h') // => "h"
happyCamelize('H') // => "H"
如果你还想驼峰化单个长度的单词,使用/([a-z])([a-z]*)/gi
。
关于javascript - 在 Camel 案例转换中让 Camel 开心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19266337/