単語の先頭だけを大文字にする
ExcelにはPROPERというワークシート関数があり、英文の各単語の先頭を大文字に、その他の文字を小文字に変換することができます。
これをJavaScriptで行うための関数を考えてみました。
function proper(str){
return str.replace(/\b([a-z])([a-z']*)\b/gi,function($0,$1,$2){
return $1.toUpperCase() + $2.toLowerCase();
});
}
return str.replace(/\b([a-z])([a-z']*)\b/gi,function($0,$1,$2){
return $1.toUpperCase() + $2.toLowerCase();
});
}
単語を取り出すために正規表現として単語の切れ目を表す「\b」を使うのがポイントでしょうか。
シングルクォーテーションは「I'm」などに対応するためです。