0

我正在尝试将所有字符串转换为标题大小写格式。我能够在没有任何连字符的情况下为标题完成此操作。当引入连字符时,我会得到一个s.match(…)为空错误。我试图调整下面的代码,但没有成功。如何调整下面的函数,以便不仅处理常规字符串,而且在引入连字符时处理。

我的代码片段中有两个示例。弗斯特第一个标题,是一个基本字符串,按我预期的方式进行转换。其次,次要职务是引入连字符并出错的示例。

我的预期结果是第二个标题返回为:零售销售-在线订单

let firstTitle=“测试字符串到标题的大小写”let firstCase=firstTitle.toLowerCase().split('').map(函数{let letterToCapitalize=s.match(/\w/)[0];return s.replace(letterToCapitalize,letterToCapitalize.toUpperCase())}).join(“”);console.log(firstCase)let secondTitle=“零售-在线订单”let secondCase=secondTitle.toLowerCase().split('').map(函数{let letterToCapitalize=s.match(/\w/)[0];return s.replace(letterToCapitalize,letterToCapitalize.toUpperCase())}).join(“”);console.log(secondCase)

1个答案1

重置为默认值
1

let secondTitle=“零售-在线订单”;let secondCase=secondTitle.toLowerCase().replace(/\b[a-z]/g,函数{返回s.到UpperCase();});console.log(secondCase);

您可以替换所有小写字符,而不是拆分字符串。如果使用alpha集后面的边界锚点,则可以匹配字符串的第一个字符和前面有空格的任何字符。那么你所要做的就是大写。

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.