今天mentor考了我一个小js题,重学了一波split

152 阅读1分钟

'北京,天津,河北 北京 天津 北京'字符串转成数组

转换目标:['北京', '天津', '河北', '北京', '天津', '北京']

方法一:

'北京,天津,河北 北京 天津 北京'.split(',').join(" ").split(' '); // 先得到","分隔的数组,用空格链接,拼接成字符串后城市之间的分隔符就都是空格了,再split

方法二(split搭配正则):

// 补充一个小知识盲点,正则中 xxx|xxx 和 [xxx]都表示“或”,区别就是"|"左右可以连接任何正则表达式,而"[]"内部只能是字符,或者字符范围,比如a-z
// split除了可以接收字符串作为分割字符串的标识,还可以是正则表达式,即用正则匹配到的内容对字符串进行分割
'北京,天津,河北 北京 天津 北京'.split(/,| /); // 使用"|"表示“或”
'北京,天津,河北 北京 天津 北京'.split(/[, ]/);  // 使用"[]"表示“或”

方法三(直接用正则匹配文字):

'北京,天津,河北 北京 天津 北京'.match(/[^\u0000-\u00FF]{1,}/g); // {1,}表示前面的正则字符重复1+次,表示匹配至少一个汉字