原文: JavaScript String.Split() Example with RegEx

在 JavaScript 中,你使用正则匹配字符中的模式。将其与 .split() 字符串方法结合起来,你可以实现更多。

字符串构造函数有很多有用的方法,其中之一是 split() 方法。你可以使用此方法使用断点将字符串拆分为子字符串数组。

以下是它的常用用法:

const string = "How is everything going?"

const breakpoint = " "

const splitted = string.split(breakpoint);

// [ 'How', 'is', 'everything', 'going?' ]

使用空格(" ")作为断点,split 方法在这些断点处拆分字符串。

这里的断点是固定字符。如果要根据模式进行拆分怎么办?像数字字符或符号空间?然后你可以使用带有正则表达式的 split 方法来实现这一点。

如何在 JavaScript 中将正则与 .split 一起使用

split 方法接受一个参数——断点。此断点确定应该发生拆分的点。此断点可以是字符串或正则表达式模式。

这是使用正则表达式模式的示例:

const string = "How is $everything g$oing?"

const breakpoint = /\$e|\$o/

const splitted = string.split(breakpoint)

// [ 'How is ', 'verything g', 'ing?' ]

正则表达式模式匹配美元符号后跟字母 “e”($e)或美元符号后跟字母 o($o)。

split 方法使用匹配此模式的字符作为断点,如你所见,“$everything” 中的 “$e” 和 “g$oing” 中的 “$o” 作为断点将字符串拆分为子串。

你不需要在正则表达式中应用全局字符 g,因为 split 方法已经将所有出现的正则表达式模式作为断点查找。

小结

通过 split 方法,你不是必须使用文字字符串将字符串拆分为数组。你可以使用正则表达式作为匹配更多字符的断点来拆分字符串。

字符串中的 replace 方法也支持正则表达式模式。在这篇文章中查看它:JavaScript 正则表达式和 replace() 方法使用示例