Java 逐个替换字符串中的重复字

Java 逐个替换字符串中的重复字,java,android,string,Java,Android,String,嗨,我有下面这样的绳子 String str=“vishwa sgsu shishs sjishs vishwa sjsjos vishwa” 我必须像下面这样替换每个事件 带xyz的vishwa 维什瓦与yzk 维什瓦和杰伊 所以我的结果字符串如下所示 “xyz sgsu shishs SJISH yzk sjsjos jey” 我尝试了replaceFirst()、replace()方法,但不起作用 我该怎么做呢?请使用下面的代码并检查您的输出 String str = "vishwa

嗨,我有下面这样的绳子

String str=“vishwa sgsu shishs sjishs vishwa sjsjos vishwa”

我必须像下面这样替换每个事件

  • 带xyz的vishwa
  • 维什瓦与yzk
  • 维什瓦和杰伊
  • 所以我的结果字符串如下所示

    “xyz sgsu shishs SJISH yzk sjsjos jey”

    我尝试了replaceFirst()、replace()方法,但不起作用


    我该怎么做呢?

    请使用下面的代码并检查您的输出

      String str = "vishwa sgsu shishs sjishs vishwa sjsjos vishwa";
    
      String strNewString = str.replace("vishwa","xyz");
      strNewString = strNewString.replace("vishwa","yzk");
      strNewString = strNewString.replace("vishwa","jey");
    
    现在使用strNewString作为将来的用途。

    试试看

    String someString = "vishwa sgsu shishs sjishs vishwa sjsjos vishwa";   
    someString = someString.replaceFirst("vishwa","xyz");
    someString = someString.replaceFirst("vishwa","yzk");
    someString = someString.replaceFirst("vishwa","jey");
    

    因为replaceFirst创建了一个新字符串,所以您可以通过

    String result=str.replaceFirst(“vishwa”、“xyz”)
    .replaceFirst(“维什瓦”、“yzk”)
    
    .replaceFirst(“vishwa”、“jey”)

    如果您需要更强大的功能,请使用此选项-

    String original = "vishwa sgsu shishs sjishs vishwa sjsjos vishwa";
    String s = "vishwa";
    String [] replacements = { "xyz", "yzk", "jey" };
    for (int i = 0; i < replacements.length; i++) {
        if (original.contains(s)) {
            original = original.replaceFirst(s, replacements[i]);
        } else {
              break;
        }
    }
    System.out.println(original);
    
    String original=“vishwa sgsu shishs sjishs vishwa sjsjos vishwa”;
    字符串s=“vishwa”;
    字符串[]替换={“xyz”、“yzk”、“jey”};
    for(int i=0;i

    如果需要替换更多字符串,循环将完成此工作。

    您在这里替换什么?什么不起作用?你能给我们看一下代码吗?
    newString=string.replaceFirst(“vishwa”,“xyz”)
    应该是正确的方法,什么不起作用?我尝试了replaceFirst(“vishwa”,“xyz”),replaceFirst(“vishwa”,“yzk”)但是,只有在第一次校准中,它才替换第一次出现,之后它就不起作用了。可能您忘记使用第一次
    replaceFirst
    的结果作为第二次校准的输入,而是使用原始字符串?您的意思是
    string
    。。。非
    字符串
    。。。以防有人复制粘贴是的,我已更改that@Unihedron-你说得对,我已经更正了我的答案,但是你更快了:)非常感谢!