当前位置:  开发笔记 > 编程语言 > 正文

如何在不将空值输出到输出数组的情况下拆分字符串

如何解决《如何在不将空值输出到输出数组的情况下拆分字符串》经验,为你挑选了2个好方法。

我使用split函数来分割我的字符串/value/1

var value = "/value/1/";

var arr = value.split("/");

结果我将获得一个包含4个元素"","值","1",""的数组; 但我真的需要输出数组中的非空值.有没有办法在我的输入字符串上生成数组,但是没有空格元素的数组?

我的字符串可能/value/1/ /value/1 /value/ /value基本上是我进行的http request.url.



1> Louay Alakka..:

尝试使用Array#filter.

var arr = value.split("/").filter(function (part) { return !!part; });

或者与Tushar建议的相同的短版本.

var arr = value.split("/").filter(Boolean);


如果你想这样做,那么使用`value.split('/').filter(Boolean);`

2> Tushar..:

你可以使用match正则表达式.

str.match(/[^\/]+/g);

正则表达式[^\/]+将匹配任何非正斜杠的字符.

function getValues(str) {
  return str.match(/[^\/]+/g);
}

document.write('
');
document.write('/value/1/
' + JSON.stringify(getValues('/value/1/'), 0, 4)); document.write('

/value/1
' + JSON.stringify(getValues('/value/1'), 0, 4)); document.write('

/value/
' + JSON.stringify(getValues('/value/'), 0, 4)); document.write('

/value
' + JSON.stringify(getValues('/value'), 0, 4)); document.write('
');
推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有