1. 程式人生 > 實用技巧 >請實現一個函式,將一個字串中的每個空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。

請實現一個函式,將一個字串中的每個空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。

這裡我提供了兩種方法:①常規方法;②利用 API 解決

public class Solution {

  /**
   * 第一種方法:常規方法。利用String.charAt(i)以及String.valueOf(char).equals(" "
   * )遍歷字串並判斷元素是否為空格。是則替換為"%20",否則不替換
   */
  public static String replaceSpace(StringBuffer str) {

    int length = str.length();
    // System.out.println("length=" + length);
    StringBuffer result = new StringBuffer();
    for (int i = 0; i < length; i++) {
      char b = str.charAt(i);
      if (String.valueOf(b).equals(" ")) {
        result.append("%20");
      } else {
        result.append(b);
      }
    }
    return result.toString();

  }

  /**
   * 第二種方法:利用API替換掉所用空格,一行程式碼解決問題
   */
  public static String replaceSpace2(StringBuffer str) {

    return str.toString().replaceAll("\\s", "%20");
  }
}