【问题标题】:How do I parse a string using the split method but with 2 different delimiters in java? [duplicate]如何使用 split 方法解析字符串,但在 java 中有 2 个不同的分隔符? [复制]
【发布时间】:2013-11-14 00:06:48
【问题描述】:

我试图让用户输入一个多项式,例如 4x+3x-2x。然后我希望它将每个术语解析为一个字符串数组。我有它的工作,但我的问题是我只能使用 + 或 -,而不是 + 和 -。

    //instance variables
    Scanner scan = new Scanner(System.in);
    String polynomial = "";

    //takes in the polynomial
    System.out.println("Enter a polynomial");
    polynomial = scan.next();

    //print the polynomial
    System.out.println("\n" + "Your polynomial is "+ polynomial);   

    //parse the polynomial into a StringArray
    String[] polyArray = polynomial.split("\\-");  

【问题讨论】:

    标签: java arrays parsing split


    【解决方案1】:

    如果你想加/减号上拆分,这消耗分隔符:

    String[] polyArray = polynomial.split("[-+]");
    

    如果要拆分 *before/after plus/minus,保留运算符作为它们自己的字符串,你需要一个不消耗它们的正则表达式:

    String[] polyArray = polynomial.split("(?=[-+])|(?<=[-+])");
    

    最后一个正则表达式使用 环顾四周,它断言但不消耗输入(它们是零宽度匹配)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-10
      • 2016-07-25
      • 2011-05-23
      • 1970-01-01
      • 2018-06-13
      • 2019-10-03
      • 2017-07-03
      • 1970-01-01
      相关资源
      最近更新 更多