【问题标题】:str.split() pass muliple delimeter one regular expression and another stringstr.split() 传递多个分隔符一个正则表达式和另一个字符串
【发布时间】:2013-04-09 07:45:15
【问题描述】:

我在 javascript 中使用 var str.split() 传递多个分隔符,其中一个是正则表达式,另一个是字符串,其中正则表达式是 /\([0-9]\)/,字符串是异常。 如何通过两者以及我不替换但我只想打破线。

我的代码在哪里

             var rawParts = str.split(/\([0-9]\)/), parts = [];
             for (var i = 0, len = rawParts.length, part; i < len; ++i) {
                 part = "";
                 while (rawParts[i].slice(-1) == "\\") {
                     part += rawParts[i++].slice(0, -1) + "/";
                 }
                 parts.push(part + rawParts[i]);
             }
             return parts;
         }

         var str = section_data.title;
         var val= splitPath(str).join('<br><br>');
         alert(val);

【问题讨论】:

  • 你为什么不用str.split(/\([0-9]\)|(Exception)/)
  • 这对我不起作用...
  • 我想在同一段落中同时使用这两个条件。
  • 您能否添加一个输入和输出示例,以便我们更好地了解您想要什么?

标签: javascript html regex


【解决方案1】:

这对你有用吗?您可以添加带有十进制分隔符的异常字符串:

 str = str.replace(/(\(\d+\)|exception\s*\:)/gi, "<br /><br />$1");

让我知道,如果我说对了,你就会得到答案。

【讨论】:

    【解决方案2】:

    您可以为此使用lookahead。您真的不想拆分带括号的数字,而是拆分新段落开头后面的空格(即数字或“例外”)。

    var parts = str.split(/\s+(?=\(\d+\)|Exception)/g),
        val = parts.join("\n\n"); // or something
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-07
      • 2020-08-04
      • 1970-01-01
      相关资源
      最近更新 更多