如何获取字符串中更改的值

时间:2019-05-30 18:41:54

标签: java

我在for循环中有一个字符串,例如

s = "Hello, my name is"

s的值将在下一次迭代中更新。

s = "Hello, my name is Karen"

我需要编写一个函数,使其打印“ Updated value:Karen”。 条件是“ Karen”可以在字符串中的任意位置。

2 个答案:

答案 0 :(得分:0)

您可以使用

String changed = s.replace(sOld, "");

答案 1 :(得分:0)

要获取两个字符串的差,只需使用StringUtils.difference(str1,str2)方法。但这仅在您在旧字符串的末尾添加新String时才有意义,因此我为您编写了一个自定义方法,无论您的“ updated”值位于何处,该方法都会返回第一个String和第二个String之间的差异。 s2:

public static String difference(String s1,String s2){
    String difference="";
    for(int i=0; i<s2.length(); i++) {
        /*If s1.length is reached, the rest of s2 is the difference */
        if(s1.length()==i){
            return s2.substring(i);
        }
        /* If a difference is found start adding all characters until it fits again*/
        if(s1.charAt(i)!=s2.charAt(i)){
            for(int j=i; j<s2.length(); j++) {
                if(s1.charAt(i)==s2.charAt(j))
                    break;
                else
                    difference+=s2.charAt(j);
            }
            break;
        }
    }
    return difference;
}