gpt4 book ai didi

javascript - 正则表达式非将符号后的字符转换为大写

转载 作者:行者123 更新时间:2023-12-03 00:34:10 27 4
gpt4 key购买 nike

我正在尝试将句子列表转换为标题大小写。然而问题是,使用这个正则表达式,如果字符以符号开头,则字符不会被转换。我怎样才能让它工作?

这是一个简单的示例:

var ls = ["this is fine" "+this is not"]
var response = ls.map(s => s.toLowerCase().replace(/^(.)|[^\w-'](\w)/gi, match => match.toUpperCase()))

我希望响应为 ["This Is Fine""+This Is Not"] 而不是 ["This Is Fine""+this Is Not"] 就像现在一样。

换句话说,问题是+this没有大写。如果我添加 "[this is a string]" 或任何其他符号,情况也是如此。

有什么想法吗?

最佳答案

您可以使用\b metacharacter ,它在任何单词边界处匹配。

那么正则表达式就变成:

\b\w

即“匹配单词边界后面的任何单词字符。”

查看实际效果:

var ls = ["this is fine", "+this is not"];
var result = ls.map(s => s.toLowerCase().replace(/\b\w/gi, match => match.toUpperCase()));
console.log(result);

关于javascript - 正则表达式非将符号后的字符转换为大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53728615/

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