在 JavaScript 中将字符串转换为标题大小写

在 JavaScript 中将字符串转换为标题大小写

Convert a String to Title Case in JavaScript

使用该String.replace()方法将字符串转换为首字母大写。

replace()方法会将字符串中每个单词的首字母转换为大写。

索引.js
function getTitleCase(str) { return str.replace(/\w\S*/g, word => { return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); }); } // 👇️ "One, Two, Three" console.log(getTitleCase('one, two, three'));
如果您想避免使用正则表达式,请向下滚动到下一个代码片段。

我们将以下 2 个参数传递给
String.replace
方法:

  1. 匹配字符串中每个单词的正则表达式
  2. 每次匹配时调用并返回替换的函数
正斜杠/ /标记正则表达式的开始和结束。

\w特殊字符匹配拉丁字符[a-zA-Z]数字[0-9]
和下划线
_

\S字符匹配除空格以外的任何单个字符。

\w\S中匹配one组合one two

星号*字符匹配前面的项目(一个词)0或多次。

我们使用了g(global) 标志,因为我们想要匹配字符串中出现的所有以空格分隔的单词。

如果您在阅读正则表达式时需要帮助,请查看

来自 MDN的
正则表达式速查表。

每个单词都传递给函数,我们将第一个字符转换为大写,其余字符转换为小写。

索引在 JavaScript 中是从零开始的,这意味着字符串中的第一个字符的索引为0,最后一个字符的索引为. string.length - 1

该函数的返回值用作字符串中每个匹配项(单词)的替换。通过将每个单词转换为首字母大写,我们得到一个首字母大写的字符串。

或者,您可以使用该String.split()方法。

使用 String.split() 将字符串转换为首字母大写

将字符串转换为标题大小写:

  1. 使用 方法将字符串拆分为单词数组split()
  2. 使用该map()方法将每个单词转换为标题大小写。
  3. 使用该join()方法将单词连接成一个字符串。
索引.js
function getTitleCase(str) { return str .split(' ') .map(word => { return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); }) .join(' '); } // 👇️ "One, Two, Three" console.log(getTitleCase('one, two, three'));

我们使用
String.split
方法获取字符串中单词的数组。

我们传递给该方法的参数是应该拆分字符串的字符。

我们想将字符串拆分成一个单词数组,所以我们使用了一个包含空格的字符串作为分隔符。

索引.js
// 👇️ ['one', 'two', 'three'] console.log('one, two, three'.split(' '));

下一步是使用
Array.map
方法迭代数组。

我们传递给 map 方法的函数被数组中的每个元素(单词)调用。

我们将每个单词的第一个字符大写,其余小写。

最后一步是使用
Array.join
方法将字符串数组连接成一个带有空格分隔符的字符串。

这是一个 3 步过程:

  1. 在每个空格上拆分字符串。
  2. 标题大小写数组中的每个单词。
  3. 用空格分隔符连接单词。