使用JavaScript将字符串中的下划线替换为空格
要用字符串中的空格替换下划线,请调用 replaceAll()
方法,将下划线和空格作为参数传递给它,例如 str.replaceAll('_', ' ')
。 replaceAll
方法将返回一个新字符串,其中每个下划线都被一个空格替换。
const str = 'apple_pear_melon';
// ✅ without regular expression
const result1 = str.replaceAll('_', ' ');
console.log(result1); // 👉️ "apple pear melon"
// ✅ with regular expression
const result2 = str.replace(/_+/g, ' ');
console.log(result2); // 👉️ "apple pear melon"
replaceAll
示例将每个下划线替换为一个空格,而 replace
方法将一个或多个相邻的下划线替换为一个空格。
我们将以下 2 个参数传递给 String.replaceAll
方法:
- 我们要在字符串中匹配的子字符串
- 每个匹配要替换的值
replaceAll
方法不会改变原始字符串,它会返回一个新字符串。 字符串在 JavaScript 中是不可变的。
另一种方法是使用 String.replace
方法。
使用 replace 将字符串中的下划线替换为空格
要用字符串中的空格替换下划线:
-
使用以下正则表达式调用 replace() 方法 -
/_+/g
。 - 用包含空格的字符串替换每个匹配项。
-
replace
方法将返回一个新字符串,其中所有下划线都替换为空格。
const str = 'apple_pear_melon';
const result2 = str.replace(/_+/g, ' ');
console.log(result2); // 👉️ "apple pear melon"
我们传递给 replace()
方法的第一个参数是正则表达式,第二个参数是正则表达式的每个匹配项的替换。
正斜杠 //
标记正则表达式的开始和结束。
正则表达式匹配下划线。
加号
+
与前面的项目(下划线)匹配一次或多次。 换句话说,我们认为多个下划线彼此相邻是一个匹配项,并将它们替换为一个空格。
我们使用了 g
(全局)标志,因为我们想要匹配字符串中出现的所有下划线,而不仅仅是第一次出现的。
如果只想用空格替换字符串中的第一个下划线,请删除 g
标志。
const str = 'apple_pear_melon';
const replaceFirst = str.replace(/_+/, ' ');
console.log(replaceFirst); // 👉️ "apple pear_melon"
如果在阅读正则表达式方面需要帮助,请查看我们的正则表达式教程。
可能存在我们必须处理的极端情况 - 字符串可能以下划线开头或结尾,在这种情况下我们可能希望删除前导或尾随空格。
// 👇 ️starts and ends with underscore
const str = '_apple_pear_melon_';
const result3 = str.replaceAll('_', ' ').trim();
console.log(result3); // 👉️ "apple pear melon"
String.trim
方法从字符串中删除任何前导或尾随空格(空格、制表符、换行符)。
console.log(' apple '.trim()); // 👉️ "apple"
为了处理这种边缘情况,我们只需在用空格替换下划线后调用 trim()
方法。
另一种常用的替代方法是使用 String.split
和 Array.join
方法。
const str = '_apple_pear_melon_';
const result4 = str.split('_').join(' ').trim();
console.log(result4); // 👉️ "apple pear melon"
我们传递给 split()
方法的唯一参数是我们要拆分字符串的分隔符。
该方法返回一个子字符串数组。
// 👇️ ['one', 'two', 'three']
console.log('one_two_three'.split('_'));
然后我们在数组上调用 join()
方法并传递一个空格作为分隔符。
// 👇️ "one two three"
console.log('one_two_three'.split('_').join(' '));
选择哪种方法是个人喜好的问题。 我会选择
replaceAll
方法,因为我发现它最直接、可读性和直观性。
相关文章
MySQL 中将字符串附加到现有字段
发布时间:2023/05/08 浏览次数:63 分类:MySQL
-
本文我们将学习使用 CONCAT() 和 CONCAT_WS() 函数在 MySQL 字段中连接或附加字符串值。使用 CONCAT() 和 CONCAT_WS() 将字符串附加到 MySQL 中的现有字段
MySQL 将字符串拆分成行
发布时间:2023/05/08 浏览次数:68 分类:MySQL
-
在本文中,我们将讨论什么是将字符串拆分为行以及如何创建一个自执行函数。 我们主要讨论 SUBSTRING_INDEX() 方法以及一些示例以轻松理解该概念。
使用 CSS 和 JavaScript 制作文本闪烁
发布时间:2023/04/28 浏览次数:146 分类:CSS
-
本文提供了使用 CSS、JavaScript 和 jQuery 使文本闪烁的详细说明。
在 MongoDB 中将字符串转换为日期
发布时间:2023/04/20 浏览次数:63 分类:MongoDB
-
MongoDB 是一个越来越受欢迎的优秀平台。 在它提供的各种功能中,MongoDB 还允许您将数据从一种类型转换为另一种类型。本文介绍了在各种版本的 MongoDB 中将字符串转换为日期字段的方法。
如何从 Python 中的字符串中删除第一个字符
发布时间:2023/04/11 浏览次数:118 分类:Python
-
在Python中,要删除一个字符串的第一个字符,可以使用切片操作或者字符串方法。 方法一:使用切片操作 在Python中,可以使用切片操作来获取字符串的子字符串。切片操作使用方括号
如何从 Python 中的字符串中删除特殊字符
发布时间:2023/04/11 浏览次数:272 分类:Python
-
在Python中,可以使用多种方法来删除字符串中的特殊字符。在本文中,我们将介绍一些最常见的方法。 方法一:使用replace()方法删除特殊字符 可以使用字符串的 replace() 方法来删除字符
如何在 Python 中将字符串转换为双精度
发布时间:2023/04/11 浏览次数:191 分类:Python
-
在Python中,将字符串转换为双精度浮点数(double)可以使用内置的 float() 函数。在本文中,我们将介绍如何使用 float() 函数将字符串转换为双精度浮点数,并讨论一些相关问题。 使用
如何在 C++ 中把字符串转换为小写
发布时间:2023/04/09 浏览次数:63 分类:C++
-
介绍了如何将 C++ std::string 转换为小写的方法。当我们在考虑 C++ 中的字符串转换方法时,首先要问自己的是我的输入字符串有什么样的编码
如何在 c++ 中查找字符串中的子字符串
发布时间:2023/04/09 浏览次数:65 分类:C++
-
本文介绍了在 C++ 中检查一个字符串是否包含子字符串的多种方法。使用 find 方法在 C++ 中查找字符串中的子字符串