我正在使用regex95% 的方法:
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?// 不起作用(连字符后的所有字符都返回小写。
如果还有其他我没有考虑过的场景,请告诉我。我不希望计算句号和破折号以外的特殊字符(例如,我不想在撇号后大写)。