String类实现replace()方法

String类实现replace() 方法主要是用先匹配子串内容是否在目标串中出现,若出现将其修改为自定义的字符串。

replace(目标串,子串,新子串)。可以再细分为若新子串和子串的长度相等和不相等两种。

1.新子串和子串的长度相等

代码:

public  static  String  replaceChar(String s,String t,String r){
    String string = null;
    try {
        char s1 [] = s.toCharArray();
        char t1 [] = t.toCharArray();
        char r1 [] = r.toCharArray();
        int i = 0,j = 0;
        while(i 
  

2.新子串和子串的长度不相等(对1的扩展)

代码:

public static String Replacechar(String s, String t, String r) {
    String string = "";
    int time = 0;  //匹配次数计数器
    try {
        char s1[] = s.toCharArray();
        char t1[] = t.toCharArray();
        int i = 0, j = 0;

        while (i < s1.length && j < t1.length) {
            if (s1[i] == t1[j]) {
                i++;
                j++;
                if (j == t1.length) {
                    time++;
                    string += r;
                    j = 0;
                }

            } else {
                i = i - j + 1;
                j = 0;
                string += String.valueOf(s1[i - 1]);
            }
        }

    } catch (Exception e) {
        e.printStackTrace();
    }if(time==0){
        System.out.println("子串没有出现在目标串中,直接返回目标串!!!");
        return  s;
    }else {
        return string;
    }
}

相比之下,代码一时间复杂度是大于代码二的。

你可能感兴趣的:(String类实现replace()方法)