javascript - 基于分隔符javascript正则表达式分割字符串

标签 javascript regex

我需要用分隔符分割一个字符串,使其成为 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/

相关文章:

javascript - jQuery .load() 不适用于新创建的 DOM div 元素

regex - Common Lisp 将类似正则表达式的模式应用于 PLIST 中的键

python解析字符串后的url

javascript - 如何将两个下载的数组合并为一个 JSON 数组?

javascript - 从 JavaScript 中的边列表制作有向图

javascript - CSS3 如何添加超链接到 <div data-image ="#">

regex - R tm 在语料库中使用 gsub 替换单词

c# - 正则表达式替换行首的任意数量的匹配项

python - Python 中的捕获群体和贪婪

javascript - 从列表中仅检索一个表行