有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在java中匹配两个字符串并将非匹配字符替换为+

修改第一个字符串,使除第二个字符串中可用的字符外的所有字符都替换为加号(+)。如果第一个字符串中的一个或多个字符出现在第二个字符串中,它们将不会替换为+(忽略大小写)

字符串input1=“纽约”; 字符串input2=“New Jersy”

String out=“新建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 }

共 (1) 个答案

  1. # 1 楼答案

    您的解决方案可以工作,但只需进行如下轻微修改。如果不想考虑区分大小写,请删除(?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+
        }
    
    }