我需要用分隔符分割一个字符串,使其成为 2 个数组。
以下是字符串“55,56,*,51,52”
的示例。
我想以[["55","56],["51","52"]]结束
我在 javascript 中使用 split() 进行了尝试,但没有效果-
我相信我需要一个正则表达式解决方案,但我不知道该怎么做。
如果要处理的字符串类似于 ",*,51,52"
它应该返回
[[],["51,"52"]]
如果它看起来像 "51,*,"
它应该返回 [["51"],[]]
并且 ",*,"
应该返回 [[],[]]
-
这可能吗?
谢谢。
最佳答案
您可以通过 string.split
方法执行此操作:
var str = "55,56,*,51,52".split('*');
for (var i=0;i<str.length;i++) str[i] = str[i].split(',');
//str now contains [["55", "56", ""], ["", "51", "52"]]
您可以将字符串更改为 "55,56*51,52"
以获得 [["55","56],["51","52"的结果“]]
。
或者,您也可以采用稍微长一点的方式:
var str = "55,56,*,51,52".split('*');
for (var i=0;i<str.length;i++) {
str[i] = str[i].split(',');
for (var n=0;n<str[i].length;n++)
!str[i][n] && str[i].splice(n,1);
}
//str now contains [["55","56],["51","52"]]
然后它将与星号周围的逗号一起使用。
关于javascript - 基于分隔符javascript正则表达式分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21414436/