小编典典

将字符串中的单词大写

all

将字符串中的单词大写的最佳方法是什么?


阅读 62

收藏
2022-06-16

共1个答案

小编典典

使用 ES6 的箭头函数在字符串中大写单词的最短实现如下:

'your string'.replace(/\b\w/g, l => l.toUpperCase())
// => 'Your String'

ES5 兼容实现:

'your string'.replace(/\b\w/g, function(l){ return l.toUpperCase() })
// => 'Your String'

正则表达式基本上匹配给定字符串中每个单词的第一个字母,并且仅将该字母转换为大写:

  • \b匹配单词边界(单词的开头或结尾);
  • \w匹配以下元字符 [a-zA-Z0-9]。

对于非 ASCII 字符,请参阅此解决方案

'ÿöur striñg'.replace(/(^|\s)\S/g, l => l.toUpperCase())

此正则表达式匹配给定字符串中的第一个字母和前面有空格的每个非空格字母,并且仅将该字母转换为大写:

  • \s匹配一个空白字符
  • \S匹配非空白字符
  • (x|y)匹配任何指定的备选方案

/(?:^|\s)\S/g尽管g我们的正则表达式中的标志无论如何都不会按设计捕获子组,但此处可以按如下方式使用非捕获组。

2022-06-16