在 JavaScript 中的字符串中的大写字母前插入一个空格
使用 replace()
方法在字符串中的大写字母前插入一个空格,例如 str.replace(/[A-Z]/g, '$&').trim()
。 replace
方法将返回一个新字符串,其中每个大写字母都被大写字母前的空格替换。
const str = 'AppleBananaKiwi';
const result = str.replace(/[A-Z]/g, ' $&').trim();
console.log(result); // 👉️ "Apple Banana Kiwi"
我们将以下 2 个参数传递给 String.replace
方法:
- 要在字符串中匹配的正则表达式
- 每个匹配的替换
正斜杠 //
标记正则表达式的开始和结束。
方括号
[]
称为字符类,匹配从 A 到 Z 的任何大写拉丁字母。
[A-Z]
部分基本上是一个大写字母范围。
我们使用 g
(全局)标志是因为我们想要匹配每个出现的大写字母,而不仅仅是第一个。
如果大家在阅读正则表达式时需要帮助,请查看我们的正则表达式教程。
我们提供给 replace
方法的第二个参数是每个匹配项的替换。
该方法允许我们指定特殊的替换字符串作为参数。
$&
字符串插入匹配的子字符串。 换句话说,它插入了我们匹配的大写字母。
我们在特殊字符串前面加了一个空格,因为我们想在每个大写字母前插入一个空格。
总的来说,正则表达式匹配字符串中的每个大写字母,并将其替换为空格,然后是大写字母。
最后一步是使用 String.trim
方法从新字符串中删除任何前导或尾随空格。
replace
方法不会改变原来的字符串,它返回一个新的字符串。 字符串在 JavaScript 中是不可变的。
相关文章
Do you understand JavaScript closures?
发布时间:2025/02/21 浏览次数:108 分类:JavaScript
-
The function of a closure can be inferred from its name, suggesting that it is related to the concept of scope. A closure itself is a core concept in JavaScript, and being a core concept, it is naturally also a difficult one.
Do you know about the hidden traps in variables in JavaScript?
发布时间:2025/02/21 浏览次数:178 分类:JavaScript
-
Whether you're just starting to learn JavaScript or have been using it for a long time, I believe you'll encounter some traps related to JavaScript variable scope. The goal is to identify these traps before you fall into them, in order to av
How much do you know about the Prototype Chain?
发布时间:2025/02/21 浏览次数:150 分类:JavaScript
-
The prototype chain can be considered one of the core features of JavaScript, and certainly one of its more challenging aspects. If you've learned other object-oriented programming languages, you may find it somewhat confusing when you start
如何在 JavaScript 中合并两个数组而不出现重复的情况
发布时间:2024/03/23 浏览次数:86 分类:JavaScript
-
本教程介绍了如何在 JavaScript 中合并两个数组,以及如何删除任何重复的数组。