在 JavaScript 中替换字符串中的所有空格
How to replace all Spaces in a String in JavaScript
使用该String.replaceAll()
方法替换字符串中的所有空格,例如
const spacesReplaced = str.replaceAll(' ', '-');
.
该replaceAll()
方法返回一个新字符串,其中所有匹配项都替换为提供的替换项。
const str = 'bobby hadz com'; const spacesReplaced = str.replaceAll(' ', '^'); console.log(spacesReplaced); // 👉️ 'bobby^hadz^com'
String.replaceAll()方法返回一个新字符串,其中
所有匹配的模式都被提供的替换项替换。
该方法采用以下参数:
姓名 | 描述 |
---|---|
图案 | 要在字符串中查找的模式。可以是字符串或正则表达式。 |
替换 | 用于通过提供的模式替换子字符串匹配的字符串。 |
const str = 'bobby hadz com'; const spacesReplaced = str.replaceAll(' ', '^'); console.log(spacesReplaced); // 👉️ 'bobby^hadz^com'
在示例中,我们将所有出现的空格替换为插入符^
。
该String.replaceAll()
方法返回一个新字符串,其中替换了模式的匹配项。该方法不会更改原始字符串。
字符串在 JavaScript 中是不可变的。
如果您必须经常这样做,请定义一个可重用的函数。
function replaceAllSpaces(string, replacement) { return string.replaceAll(' ', replacement); } // 👇️ bobby-hadz console.log(replaceAllSpaces('bobby hadz', '-')); // 👇️ bobby!hadz!com console.log(replaceAllSpaces('bobby hadz com', '!'));
我们定义了一个函数,它将一个字符串和一个替换项作为参数,并替换字符串中出现的所有空格。
或者,您可以使用String.split()
和Array.join()
方法。
使用#替换字符串中的所有空格String.split()
要替换字符串中的所有空格:
- 使用该
split()
方法在每次出现空格时将字符串拆分为一个数组。 - 使用该
join()
方法将数组连接成带有分隔符的字符串。
const str = 'bobby hadz com'; const withoutSpaces = str.split(' ').join('^'); console.log(withoutSpaces); // 👉️ 'bobby^hadz^com'
我们使用该String.split()
方法在每个空格上拆分字符串。
const str = 'bobby hadz com'; // 👇️ [ 'bobby', 'hadz', 'com' ] console.log(str.split(' '));
String.split()方法接受一个分隔符,并在每次出现所提供的分隔符时将
字符串拆分为一个数组。
该String.split()
方法采用以下 2 个参数:
姓名 | 描述 |
---|---|
分隔器 | 描述每个拆分应该发生的位置的模式。 |
限制 | 一个整数,用于指定要包含在数组中的子字符串数的限制。 |
最后一步是使用
Array.join()
方法为所有带分隔符的数组元素(替换每个空格)。
如果separator
省略参数值,则数组元素用逗号连接,
。
如果separator
参数设置为空字符串,则数组元素之间没有任何字符连接。
如果你必须经常这样做,你可以创建一个可重用的函数。
function replaceAllSpaces(string, replacement) { return string.split(' ').join(replacement); } // 👇️ bobby-hadz console.log(replaceAllSpaces('bobby hadz', '-')); // 👇️ bobby^hadz console.log(replaceAllSpaces('bobby hadz', '^'));
该函数将一个字符串和一个替换项作为参数,并替换字符串中出现的所有空格。
或者,您可以使用该String.replace()
方法。
使用#替换字符串中的所有空格String.replace()
使用该String.replace()
方法替换字符串中的所有空格。
该replace()
方法将返回一个新字符串,其中所有空格都替换为提供的替换项。
const str = 'bobby hadz com'; const spacesRelaced = str.replace(/ /g, '+'); console.log(spacesRelaced); // 👉️ bobby+hadz+com
String.replace()
方法返回一个新字符串,其中一个、一些或所有正则表达式的匹配项被替换为提供的替换项。
该方法采用以下参数:
姓名 | 描述 |
---|---|
图案 | 要在字符串中查找的模式。可以是字符串或正则表达式。 |
替换 | 用于通过提供的模式替换子字符串匹配的字符串。 |
该String.replace()
方法返回一个新字符串,其中替换了模式的匹配项。该方法不会更改原始字符串。
正斜杠/ /
标记正则表达式的开始和结束。
我们的正则表达式由一个空格组成。
g
(global) 标志,因为我们想要匹配字符串中所有出现的空格,而不仅仅是第一次出现的。+
我们在示例中用加号替换了所有空格。但是,您可以提供任何替换字符串。
如果您必须经常这样做,请将逻辑提取到可重用的函数中。
function replaceAllSpaces(string, replacement) { return string.replace(/ /g, replacement); } // 👇️ bobby-hadz console.log(replaceAllSpaces('bobby hadz', '-')); // 👇️ bobby^hadz console.log(replaceAllSpaces('bobby hadz', '^'));
该函数将一个字符串和一个替换项作为参数,并替换字符串中出现的所有空格。
您选择哪种方法是个人喜好的问题。我会使用该
String.replaceAll()
方法,因为我发现它非常直接和直观。