修改第一个字符串,使所有字符都被加号(+)替换,但第二个字符串中可用的字符除外,如果第一个字符串的一个或多个字符出现在第二个字符串中,它们将不会被+替换(忽略大小写)
String input1 =“New York”; String input2 =“New Jersy”;
String out =“New Y + r +”;
我试过这个:
String input1 ="New York";
String input2 ="New Jersy";
String str[] = input1.split([New Jersy]);
for(String s:str) {
if(s.equals("")) // same pattern else // + should be printed }
答案 0 :(得分:0)
您的解决方案有效,但稍作修改即可。如果您不想考虑区分大小写,请删除(?i)
部分。
public class StringReplacer {
public static void main(String[] args) {
String str1 = "New York";
String str2 = "New Jersy";
for(String s : str1.split("(?i)[" + str2 +"]")){
if(s.trim().length() > 0){
str1 = str1.replace(s, "+");
}
}
System.out.println(str1); // Prints New Y+r+
}
}