在 JavaScript 中通过正则表达式拆分字符串
How to Split a String by a Regex in JavaScript
要通过正则表达式拆分字符串,请将正则表达式作为参数传递给该
split()
方法,例如str.split(/[,.\s]/)
. 该split
方法采用字符串或正则表达式,并根据提供的分隔符将字符串拆分为子字符串数组。
索引.js
const str = 'one,two.three four'; const result = str.split(/[,.\s]/); // 👇️ ['one', 'two', 'three', 'four'] console.log(result);
我们传递给
String.split()
方法的唯一参数是分隔符。
该方法在正则表达式的每个匹配项上将字符串拆分为一个子字符串数组。
正斜杠/ /
标记正则表达式的开始和结束。
示例中的正则表达式使用字符类[]
来匹配方括号之间的任何字符 – 逗号、点和空格。
如果您需要正则表达式备忘单,请查看
来自 MDN的备忘单。这是迄今为止最好的。
当您需要使用多个分隔符拆分字符串时,最常使用字符类。
这是另一个在每个数字上拆分字符串的示例。
索引.js
const str = 'one1two2three'; const result = str.split(/\d/); console.log(result); // 👉️ ['one', 'two', 'three']
\d
特殊字符匹配任何0-9
数字。这与使用 range 相同[0-9]
。
请注意,在使用带有正则表达式的方法时,您不必传递
g
(global) 标志。split
这是因为该方法不会在第一次出现时停止。但是,您可以使用其他标志。例如,您可以使用i
标志进行不区分大小写的匹配。
索引.js
const str = 'oneAtwoBthree'; const result = str.split(/[ab]/i); console.log(result); // 👉️ ['one', 'two', 'three']
字符类[]
匹配a
或b
。我们设置了i
标志,所以我们匹配字符串中出现的a
和b
字符的大写和小写。