【问题标题】:Split string with multiple separators使用多个分隔符拆分字符串
【发布时间】:2018-02-27 20:18:06
【问题描述】:

我有一个字符串,我需要用 +-*/ 将其分隔并放入数组中。

我已经尝试过我也在这里找到的这段代码,但它似乎不起作用。它给了我错误“无效的正则表达式:/+|-|*|//:没有可重复的内容。”

var separators = ['+', '-', '*', '/'];
var numbers = x.split(new RegExp(separators.join('|'), ''));

关于我应该如何做到这一点的任何建议?

【问题讨论】:

  • 字符串中是否包含特殊字符?
  • 问题是其中一些字符在正则表达式中具有特殊含义......所以你需要用比你想象的更多的 \\ 来转义它们
  • +* 在正则表达式中具有特殊意义。试试string.split(/[\+-\*\/]/g)
  • @Harsha 没有。除了四个之外没有特殊字符

标签: javascript jquery


【解决方案1】:

试试这个。

var str = "i-have_six*apples+doyou/know.doe";
console.log(str.split(/[.\*+-/_]/));

【讨论】:

    【解决方案2】:

    这是你的答案,

    x = "This+is*test/the*theunder-Yes";
    var separators = ['\\\+', '-', '\\*', '/'];
    
    var numbers = x.split(new RegExp(separators.join('|'),'g'));
    console.log(numbers);

    这是因为,您的 +,* 是与正则表达式相关的通配符。您不能按原样使用。

    【讨论】:

    • 相关问题在哪里?
    【解决方案3】:

    使用正则表达式拆分

        var tempvar = (X).split(/[+-/*]+/);
    

    这应该作为数组拆分返回。 例如:X = 1+2-3/4

    alert(x) would return as 
    
        1,2,3,4
    

    【讨论】:

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