如何在 JavaScript 中替换字符串中的所有连字符

JavaScript 中要替换字符串中的所有连字符:

  1. 调用 replaceAll() 方法,将连字符作为第一个参数传递给它,将替换字符串作为第二个参数传递给它。
  2. replaceAll() 方法返回一个新字符串,其中所有匹配项都替换为提供的替换项。
const str = 'a-b-c';

const hyphensReplaced = str.replaceAll('-', ' ');
console.log(hyphensReplaced); // ?️ a b c

我们将以下参数传递给 String.replaceAll 方法:

  1. 我们要在字符串中匹配的子字符串
  2. 每场比赛的替换

在示例中,我们将每个连字符替换为空格,但是您可以提供适合您的用例的任何替换,例如 一个点 . :

const str = 'a-b-c';

const hyphensReplaced = str.replaceAll('-', '.');
console.log(hyphensReplaced); // ?️ a.b.c

replaceAll 方法不会更改原始字符串,它会返回一个替换了所有匹配项的新字符串。 字符串在 JavaScript 中是不可变的。

要替换字符串中的所有连字符:

  1. 调用 replace() 方法,将匹配所有连字符的正则表达式作为第一个参数传递给它,将替换字符串作为第二个参数传递给它。
  2. replace() 方法将返回一个新字符串,其中所有连字符都替换为提供的替换项。
// Supported in IE 6-11

const str = 'a-b-c';

const hyphensReplaced = str.replace(/-/g, ' ');
console.log(hyphensReplaced); // ?️ a b c

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

  1. 我们要在字符串中匹配的正则表达式
  2. 每个匹配的替代值

我们使用 g(全局)标志是因为我们想要匹配字符串中的所有连字符,而不仅仅是第一次出现的连字符。

replaceAll 方法更好更易读,但是如果我们必须支持 Internet Explorer,则 replace 方法可以完成工作。