标签:strong 比较 new amp blank int ring string ==
【题目】
请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。 给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。 测试样例: "Mr John Smith”,13 返回:"Mr%20John%20Smith" ”Hello World”,12 返回:”Hello%20%20World”
【代码实现】
方法一:较简单
import java.util.*; public class Replacement { public String replaceSpace(String iniString, int length) { if (iniString == null || length <= 0){ return iniString; } StringBuilder sb = new StringBuilder(); for (int i = 0; i < length; i++){ if (iniString.charAt(i) == ‘ ‘){ sb.append("%20"); }else{ sb.append(iniString.charAt(i)); } } return sb.toString(); } }
方法二:比较麻烦
import java.util.*; public class Replacement { public String replaceSpace(String iniString, int length) { if (iniString == null || length <= 0) return iniString; int countBlank = 0; for (int i = 0; i < length; i++){ if (iniString.charAt(i) == ‘ ‘){ countBlank++; } } int newLength = length + 2 * countBlank; char[] iniString_array = iniString.toCharArray(); char[] newString_array = new char[newLength]; int index = 0; int index2 = 0; while(index < length){ if (iniString_array[index] == ‘ ‘){ newString_array[index2++] = ‘%‘; newString_array[index2++] = ‘2‘; newString_array[index2++] = ‘0‘; }else{ newString_array[index2++] = iniString_array[index]; } index++; } return new String(newString_array); } }
请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。
给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。
"Mr John Smith”,13
返回:"Mr%20John%20Smith"
”Hello World”,12
返回:”Hello%20%20World”
标签:strong 比较 new amp blank int ring string ==
原文地址:http://www.cnblogs.com/noaman/p/6918394.html