Java-不区分大小写的拆分,带有可变拆分字符串

时间:2018-08-13 21:37:30

标签: java regex split

program test 所以我有一个程序,该程序将给出两个字符串作为参数:base和remove。它必须从底座中取出。我正在使用split方法从第一个中删除第二个字符串。但是,第二个字符串的字符大小写无关紧要,而第一个字符串的字符大小写必须保留。当您在程序中将remove字符串定义为String文字时,我发现了许多方法可以执行此操作:例如,可以使用?i,但是因为remove用作参数而不是我在程序,这不起作用。请检查我所附的图片,以便您可以确切地看到失败的地方。感谢帮助。

public String withoutString(String base, String remove) {

      String array[] = base.split(remove);
      String result = "";
        for(int i = 0; i<array.length;i++)
          result+= array[i];

      return result;
    }

2 个答案:

答案 0 :(得分:4)

使用带有CASE_INSENSITIVELITERAL标志的正则表达式模式:

return Pattern.compile(remove, Pattern.CASE_INSENSITIVE | Pattern.LITERAL)
        .matcher(base).replaceAll("");

答案 1 :(得分:0)

String.replaceAll()方法接受可以直接使用的正则表达式,例如:

返回base.replaceAll(“(?i)(” +移除+“)[\ s] *”,“”)