javascript – 用’,’分割句子,并删除周围的空格

前端之家收集整理的这篇文章主要介绍了javascript – 用’,’分割句子,并删除周围的空格前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个代码
var r = /(?:^\s*([^\s]*)\s*)(?:,\s*([^\s]*)\s*){0,}$/
var s = "   a,b,c "
var m = s.match(r)
m => ["   a,c ","a","c"]

看起来整个字符串已经匹配,但是哪里有“b”了?我宁愿得到:

["   a,"b","c"]

所以我可以用s.split(‘,’)的结果做m.shift(),也可以删除空格.

我在正则表达式中有错误,还是误解String.prototype.match?

解决方法

这是一个很简单&直接的方式来做到这一点,而不需要复杂的正则表达式.
var str = "   a,c "
var arr = str.split(",").map(function(item) {
  return item.trim();
});
//arr = ["a","c"]

IE9及以上版本支持nativemap.https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

或者在ES6 / TypeScript中,它变得更短:

var arr = str.split(",").map((item) => item.trim());

猜你在找的JavaScript相关文章