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;
}
答案 0 :(得分:4)
使用带有CASE_INSENSITIVE
和LITERAL
标志的正则表达式模式:
return Pattern.compile(remove, Pattern.CASE_INSENSITIVE | Pattern.LITERAL)
.matcher(base).replaceAll("");
答案 1 :(得分:0)
String.replaceAll()方法接受可以直接使用的正则表达式,例如:
返回base.replaceAll(“(?i)(” +移除+“)[\ s] *”,“”)