gpt4 book ai didi

javascript - 将包含 ' , 的字符串更改为 TitleCase

转载 作者:行者123 更新时间:2023-11-29 10:38:07 25 4
gpt4 key购买 nike

我可以使用它来将普通字符串更改为标题大小写。

return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});

我不确定如何将这样的字符串变成首字母大写,

maureen o'hara -> Maureen O'Hara
maureen macnamee -> Maureen MacNamee
Maureen mctavis ->Maureen McTavis

这可能吗?

最佳答案

您可以使用此代码:

function nameToTC(input) {
return input.replace(/\b(ma?c)?(\w)(\w*)/ig, function (m, grp1, grp2, grp3) {
if (grp1) {
return grp1.charAt(0).toUpperCase() + grp1.substr(1).toLowerCase() + grp2.toUpperCase() + grp3.toLowerCase();
}
else {
return grp2.toUpperCase() + grp3.toLowerCase();
}
});
}
console.log(nameToTC('maureen o\'hara'));
console.log(nameToTC('maureen macnamee'));
console.log(nameToTC('Maureen mctavis'));

结果:

Maureen O'Hara
Maureen MacNamee
Maureen McTavis

正则表达式 - \b(ma?c)?(\w)(\w*) - 首先用 \b 匹配单词边界,然后可选地匹配并用(ma?c)?捕获到第1组macMc等,然后匹配并捕获到第2组一个字母数字符号((\w)) 然后匹配并捕获到第 3 组中属于当前单词的 0 个或更多最后的字母数字字符(使用 (\w*))。

在回调函数中,我们检查是否设置了第 1 组,如果是,我们将 mcmac 大写,然后是其余部分。如果未设置 Group 1,则不处理该部分,仅将 Group 2 大写。

关于javascript - 将包含 ' , 的字符串更改为 TitleCase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33542035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com