第五章 字串專題 ---------------- 5.4 實踐:替換字串中的空格

Curtis_發表於2019-03-18

題目:

替換字串中的空格。請編寫一個方法,將字串中的空格全部替換為“%20”,給定一個String iniString 為原始的串,以及串的長度 int len, 返回替換後的string。

/**
 *測試樣例:
  "Mr John Smith",13 返回:"Mr%20John%20Smith"
  "Hello  World",12 返回:”Hello%20%20World”
 */
public class Replacement {

    public static void main(String[] args) {
        System.out.println("解法一:"+replaceSpace("Mr John Smith", 13));
        System.out.println("解法二:"+replaceSpace("Mr John Smith000000000000000000000".toCharArray(), 13));
    }
    
    public static String replaceSpace(String iniString, int length) {
        return iniString.replaceAll("\\s", "%20");
    }
    
    static String replaceSpace(char[] iniString,int length){
        int count = length;
        for (int i = 0; i <length; i++) {
            if (iniString[i]==' ') {
                count += 2;
            }
        }
        int p1 = length -1;
        int p2 = count -1;
        while(p1>=0){
            if (iniString[p1]==' ') {
                iniString[p2--] = '0';
                iniString[p2--] = '2';
                iniString[p2--] = '%';
            }else {
                iniString[p2--] = iniString[p1];
            }
            p1--;
        }
        return new String(iniString, 0, count);
    }
}

來源:https://www.cnblogs.com/xiaoyh/p/10299429.html

相關文章