js怎么使用多个不同的字符分隔字符串,并且除掉前后的空格(trim)?

js split by Xudong Zhang @ 2016-05-14 21:49:37

我想按照逗号或者空格分隔字符串,并且逗号又可能是中文状态下的逗号,然后在得到的array里希望每个元素前后的空格斗消掉,不想一个个的trim,该怎么处理?

比如字符串为 ' tag1, tag2 , tag3, tag4 '这样的想得到['tag1', 'tag2', 'tag3', 'tag4'].


js的split的分隔符可以使用正则表达式,所以可以这样

' tag1, tag2 , tag3, tag4 '.split(/[ ,,]+/)

这样分隔符就是由,,组成的一个或者多个字符啦,如果有其他的字符想加入分隔符,也一样添加就可以了。

这样有个问题就是如果字符串开头或者结尾为这些特殊字符的话,得到的array里会有空的元素,如果不需要可以filter一下

' tag1, tag2 , tag3, tag4 '.split(/[ ,,]+/).filter(el => el.length !== 0)
by Xudong Zhang @2016-05-14 21:56:33.279 +0800 CST


我来回答

Markdown格式技巧

  • 行尾添加2个空格或者添加一个空行就能换行
  • 斜体: *hello* 或者 _world_
  • 加粗: **hello** 或者 __world__
  • 代码块: 添加空行,然后代码缩进4个空格
  • 特殊字符: 用\避免转义;\*就是*本身
  • python: `__name__`可以以代码形式输出__name__
  • 一个简单的例子

切换到移动版