我正在使用regex
95% 的方法:
var string = element.replace(/([^\W_]+[^\s\u2014\u002E]*) */g, function(txt){
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
})
正则表达式应采用任何字符串并以标题大小写形式返回。例如:
hello -> Hello
// 工作
hElLo mY nAme Is -> Hello My Name Is
// 工作
What-did-you-say-to-me? -> What-Did-You-Say-To-Me?
// 不起作用(连字符后的所有字符都返回小写。
如果还有其他我没有考虑过的场景,请告诉我。我不希望计算句号和破折号以外的特殊字符(例如,我不想在撇号后大写)。