【问题标题】:Regex to split Javascript string into two strings正则表达式将 Javascript 字符串拆分为两个字符串
【发布时间】:2015-10-25 21:45:42
【问题描述】:

我正在寻找一种方法来解析文件中两个模式之间所有出现的字符串。我有:

var test = "XXXX\n sssssssss\n1111\nXXXX\nssssssssss ssss\nXXXX\nssssssssssssss\n1111111111\nXXXX\n"  
var testRE = test.match(/XXXX\n([.\n]+)XXXX/g);
console.log(testRE); // null

与我尝试过的许多其他正则表达式一样,这个正则表达式并没有得到我想要的结果。我想要一个匹配所有出现的正则表达式以获得这样的结果:

[' sssssssss\n1111\n', 'ssssssssss ssss\n', 'ssssssssssssss\n1111111111\n']

有人有想法吗?

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    您可以使用String.split 方法解决此问题,例如:

    var value = "XXXX\n sssssssss\n1111\nXXXX\nssssssssssssss\nXXXX\nssssssssssssss\n1111111111\nXXXX\n"  
    var items = value.split("XXXX\n");
    console.log(items);
    

    输出:

    >>> ["", " sssssssss\n1111\n", "ssssssssss ssss\n", "ssssssssssssss\n1111111111\n", ""]
    

    如果需要,您可以像这样从项目的开头和结尾删除空值:

    if (items[0].length == 0) {
        items = items.slice(1);
    }
    if (items[items.length - 1].length == 0) {
        items = items.slice(0, items.length - 1);
    }
    

    或者干脆过滤掉所有空值:

    items = items.filter(function(n){ return n.length != 0 });
    

    剥离/过滤项目可提供作为问题示例建议的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多