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

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

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

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

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

  1. 我们要在字符串中匹配的字符
  2. 每个匹配项的替换字符串。 在示例中,我们使用破折号 -,但是您可以使用您需要的任何替换字符串,例如 一个空白字符 ‘ ‘。

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

  1. 调用 replace() 方法,将匹配所有点的正则表达式作为第一个参数传递给它,将替换字符作为第二个参数传递给它。
  2. replace 方法将返回一个新的字符串,所有的点字符都被替换了。
const str = 'a.b.c';

const withoutDots = str.replace(/\./g, '_');
console.log(withoutDots); // ?️ 'a_b_c'

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

  1. 匹配字符串中所有点的正则表达式
  2. 每个匹配项的替换字符串

点之前的 \ 字符用于转义特殊字符。. 在正则表达式中有特殊含义,匹配任意类型的一个或多个字符。

我们希望从字面上理解点,所以我们将其转义。

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

如果我们希望避免使用正则表达式,并且需要支持 Internet Explore,则可以使用下一种方法。

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

  1. 调用 split() 方法在每个点字符上拆分字符串。 split 方法返回一个数组,其中包含拆分后的子字符串。
  2. 在数组上调用 join() 方法,将点的替换字符传递给它。 join 方法通过使用提供的分隔符连接数组元素来返回一个新字符串。
const str = 'a.b.c';

const withoutDots = str.split('.').join('_');
console.log(withoutDots); // ?️ 'a_b_c'

String.split 方法在每个点字符上拆分字符串。

const str = 'a.b.c';

const split = str.split('.');

console.log(split); // ?️ ['a', 'b', 'c']

最后一步是用分隔符连接所有数组元素(替换每个点)。

这种方法比使用 replaceAll 方法更间接,但如果您必须支持 Internet Explorer 并且不想使用正则表达式,它就可以完成工作。