企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
字符串对象的`split`方法按照正则规则分割字符串,返回一个由分割后的各个部分组成的数组。 ~~~ str.split(separator, [limit]) ~~~ 该方法接受两个参数,第一个参数是正则表达式,表示分隔规则,第二个参数是返回数组的最大成员数。 ~~~ // 非正则分隔 'a, b,c, d'.split(',') // [ 'a', ' b', 'c', ' d' ] // 正则分隔,去除多余的空格 'a, b,c, d'.split(/, */) // [ 'a', 'b', 'c', 'd' ] // 指定返回数组的最大成员 'a, b,c, d'.split(/, */, 2) [ 'a', 'b' ] ~~~ 上面代码使用正则表达式,去除了子字符串的逗号后面的空格。 ~~~ // 例一 'aaa*a*'.split(/a*/) // [ '', '*', '*' ] // 例二 'aaa**a*'.split(/a*/) // ["", "*", "*", "*"] ~~~ 上面代码的分割规则是0次或多次的`a`,由于正则默认是贪婪匹配,所以例一的第一个分隔符是`aaa`,第二个分割符是`a`,将字符串分成三个部分,包含开始处的空字符串。例二的第一个分隔符是`aaa`,第二个分隔符是0个`a`(即空字符),第三个分隔符是`a`,所以将字符串分成四个部分。 如果正则表达式带有括号,则括号匹配的部分也会作为数组成员返回。 ~~~ 'aaa*a*'.split(/(a*)/) // [ '', 'aaa', '*', 'a', '*' ] ~~~ 上面代码的正则表达式使用了括号,第一个组匹配是`aaa`,第二个组匹配是`a`,它们都作为数组成员返回。