从 JavaScript 中的字符串中删除/替换所有空格
使用 String.replace()
方法从字符串中删除所有空格,例如 str.replace(/\s/g, '')
。
replace()
方法将通过用空字符串替换它们来删除字符串中的所有空白字符。
const str = ' A B C D ';
// ✅ 从字符串中删除所有空格(包括空格、制表符和换行符)
const noWhitespace = str.replace(/\s/g, '');
console.log(noWhitespace); // 👉️ 'ABCD'
// ✅ 仅删除字符串中的空格
const noSpaces = str.replace(/ /g, '');
console.log(noSpaces); // 👉️ 'ABCD'
如果需要替换字符串中的所有空格,请将替换字符串指定为 String.replace()
的第二个参数。
const str = 'www jiyik com';
const spacesRelaced = str.replace(/ /g, '+');
console.log(spacesRelaced); // 👉️ www+jiyik+com
代码示例将所有空白字符替换为加号 +
。
String.replace()
方法返回一个新字符串,其中一个、一些或所有正则表达式的匹配项被替换为提供的替换项。
该方法采用以下参数:
- pattern 要在字符串中查找的模式。 可以是字符串或正则表达式。
- replacement 一个字符串,用于将匹配的子字符串替换为提供的模式。
我们传递给 replace()
方法的第一个参数是一个正则表达式。
const str = ' A B C D ';
const noWhitespace = str.replace(/\s/g, '');
console.log(noWhitespace); // 👉️ 'ABCD'
正斜杠 //
标记正则表达式的开始和结束。
\s
特殊字符匹配空格、制表符和换行符。
我们使用 g
(全局)标志来指定我们要匹配字符串中出现的所有空白字符,而不仅仅是第一次出现的字符。
const str = ' A \n B \t C \n D ';
const noWhitespace = str.replace(/\s/g, '');
console.log(noWhitespace); // 👉️ 'ABCD'
replace()
方法采用的第二个参数是替换字符串。
如果我们需要从字符串中删除所有空格,请指定一个空字符串作为替换。
相反,如果我们需要用不同的字符替换字符串中的空格,请将替换字符串作为第二个参数传递给 String.replace
。
const str = 'www jiyik com';
const spacesRelaced = str.replace(/ /g, '+');
console.log(spacesRelaced); // 👉️ www+jiyik+com
代码示例将所有空白字符替换为加号 +
。
仅从字符串中删除/替换空格
前面的代码示例从字符串中删除所有空白字符,包括空格、制表符和换行符。
如果只想从字符串中删除空格,请使用以下正则表达式。
const str = ' A B C D ';
const noSpaces = str.replace(/ /g, '');
console.log(noSpaces); // 👉️ 'ABCD'
我们只在标记正则表达式开头和结尾的正斜杠之间指定了一个空格。
g
(全局)标志用于删除字符串中出现的所有空格,而不仅仅是第一次出现的空格。
String.replace()
方法不会更改原始字符串,它会返回一个新字符串。 字符串在 JavaScript 中是不可变的。
或者,我们可以使用 replaceAll()
方法。
使用 replaceAll() 删除/替换字符串中的所有空格
使用 String.replaceAll()
方法从字符串中删除所有空格,例如 str.replaceAll(/\s/g, '')
。
replaceAll()
方法将通过用空字符串替换它们来删除字符串中的所有空白字符。
const str = ' A B C D ';
const noWhitespace = str.replaceAll(/\s/g, '');
console.log(noWhitespace); // 👉️ 'ABCD'
String.replaceAll()
方法返回一个新字符串,其中所有匹配的模式都被提供的替换项替换。
该方法采用以下参数:
- pattern 要在字符串中查找的模式。 可以是字符串或正则表达式。
- replacement 一个字符串,用于将匹配的子字符串替换为提供的模式。
仅使用 replaceAll() 替换/删除字符串中的空格
在此特定场景中,使用 replaceAll()
方法优于 String.replace
没有任何好处。
但是,如果我们只需要从字符串中删除空格(不包括制表符和换行符),则可以将字符串而不是正则表达式传递给 replaceAll()
方法。
const str = ' A B C D ';
const noWhitespace = str.replaceAll(' ', '');
console.log(noWhitespace); // 👉️ 'ABCD'
我们没有将正则表达式传递给
replaceAll()
方法,而是传递了一个包含空格的字符串。
replaceAll()
方法通过用空字符串替换它们来删除所有空格。
**
请注意
**,此方法仅从字符串中删除空格(而不是制表符和换行符)。
如果我们还想删除制表符和换行符 \n
,请将正则表达式传递给该方法。
const str = ' A B C D ';
const noWhitespace = str.replaceAll(/\s/g, '');
console.log(noWhitespace); // 👉️ 'ABCD'
如果需要替换字符串中的空格,请将替换字符串指定为 str.replaceAll()
的第二个参数。
const str = 'www jiyik com';
const spacesReplaced = str.replaceAll(' ', '^');
console.log(spacesReplaced); // 👉️ 'www^jiyik^com'
代码示例将字符串中的所有空格替换为插入符号 ^。
如果我们必须经常替换字符串中的空格,我们还可以创建一个可重用的函数。
function replaceAllSpaces(string, replacement) {
return string.replaceAll(' ', replacement);
}
// 👇️ fql-jiyik
console.log(replaceAllSpaces('fql jiyik', '-'));
// 👇️ fql!jiyik!com
console.log(replaceAllSpaces('fql jiyik com', '!'));
我们定义了一个函数,它将一个字符串和一个替换项作为参数,并替换字符串中出现的所有空格。
或者,我们可以使用 String.split()
和 Array.join()
方法删除/替换字符串中的空格。
使用 String.split() 删除/替换字符串中的所有空格
要从字符串中删除所有空格:
-
使用
split()
方法在每次出现空格时将字符串拆分为数组。 -
使用
join()
方法将数组连接成一个没有分隔符的字符串。
const str = 'fql jiyik com';
const withoutSpaces = str.split(' ').join('');
console.log(withoutSpaces); // 👉️ 'fqljiyikcom'
如果需要替换字符串中的所有空格,请在调用 Array.join()
时指定替换字符串。
const str = 'fql jiyik com';
const withoutSpaces = str.split(' ').join('^');
console.log(withoutSpaces); // 👉️ 'fql^jiyik^com'
我们使用 String.split()
方法在每个空格上拆分字符串。
const str = 'www jiyik com';
// 👇️ [ 'www', 'jiyik', 'com' ]
console.log(str.split(' '));
String.split()
方法接受一个分隔符,并在每次出现所提供的分隔符时将字符串拆分为一个数组。
String.split()
方法采用以下 2 个参数:
- separator 描述每个拆分应该发生在哪里的模式。
- limit 一个整数,用于指定要包含在数组中的子字符串数的限制。
最后一步是对所有带或不带分隔符的数组元素使用 Array.join()
方法。
如果省略了分隔符参数的值,则数组元素用逗号 ,
连接。
如果分隔符参数设置为空字符串,则数组元素之间没有任何字符连接。
const str = 'www jiyik com';
const withoutSpaces = str.split(' ').join('');
console.log(withoutSpaces); // 👉️ 'wwwjiyikcom'
如果我们需要经常替换字符串中的空格,请定义一个可重用的函数。
function replaceAllSpaces(string, replacement) {
return string.split(' ').join(replacement);
}
// 👇️ fql-jiyik
console.log(replaceAllSpaces('fql jiyik', '-'));
// 👇️ fql^jiyik
console.log(replaceAllSpaces('fql jiyik', '^'));
该函数将一个字符串和一个替换项作为参数,并替换字符串中出现的所有空格。
当我们将一个空字符串传递给 split()
方法时,我们只根据空格进行拆分(不是制表符或换行符)。
如果我们还需要在制表符和换行符上进行拆分,请将正则表达式传递给 String.split()
方法。
const str = 'www jiyik com';
const withoutSpaces = str.split(/\s/).join('');
console.log(withoutSpaces); // 👉️ 'wwwjiyikcom'
\s
特殊字符涵盖所有空白字符(空格、制表符和换行符)。
总结
选择哪种方法是个人喜好的问题。
如果我们只需删除/替换字符串中的空格(而不是所有空白字符),请使用 replaceAll
方法来避免使用正则表达式。
// ✅ 从字符串中删除所有空格
const str = 'www jiyik com';
const result = str.replaceAll(' ', '');
console.log(result); // 👉️ wwwjiyikcom
可以使用相同的方法替换字符串中的所有空格,我们只需指定一个替换字符串即可。
// ✅ 替换字符串中的所有空格
const str = 'www jiyik com';
const result = str.replaceAll(' ', '^');
console.log(result); // 👉️ www^jiyik^com
相关文章
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 中合并两个数组,以及如何删除任何重复的数组。