対象の説明:
のURL。調製方法は、文字列内のすべてのスペースを20%に置き換えられます。文字列の最後には、新しい文字を格納するのに十分なスペースがあることを想定し、「本物」の長さの文字列ことを知っています。(注:Javaで実装されている場合、アレイ上で直接動作するために達成するために、文字の配列を使用します。)
示例1:
输入:"Mr John Smith ", 13
输出:"Mr%20John%20Smith"
示例2:
输入:" ", 5
输出:"%20%20%20%20%20"
提示:
字符串长度在[0, 500000]范围内。
II。説明
1.方法
(1)問題解決のアイデア:
- 新しいStringBuilderのSBを作成します。
- ループトラバーサル、長未満で終了するため
- 文字列Sのi番目の文字を横断
- 文字が空白の場合は、新しい要素に20%SB
- それ以外の場合は、Sのi番目の要素は後からSBを追加しました
- サイクルの終わりには、文字列の中にSBに戻ります
(2)コード:
public static String replaceSpaces(String S,int length){
StringBuilder sb = new StringBuilder();
for(int i=0;i<length;i++){
if(S.charAt(i)==' '){
sb.append("%20");
}else {
sb.append(S.charAt(i));
}
}
return sb.toString();
}
2.方法2:
(1)問題解決のアイデア:
- 文字列が撮影した宇宙の背後にある,,に加えて、文字列を変換するようことが知られている背景には
- 文字列は、その後、採取した後に、20%のスペースに置き換えられています
(2)コード:
public static String replaceSpaces2(String S,int length){
String s1 = S.substring(0,length);
String s2 = S.replaceAll(" ","%20");
return s2;
}