书中思路:
public String replaceSpace(String str1) {
if (str == null) {
return null;
}
StringBuffer str = new StringBuffer(str1);
int length = str.length();
int indexOfOriginal = length-1;
for (int i = 0; i < length; i++) {
if (str.charAt(i) == ' ')
length += 2;
}
str.setLength(length);
int indexOfNew = length-1;
while (indexOfNew > indexOfOriginal) {
if (str.charAt(indexOfOriginal) != ' ') {
str.setCharAt(indexOfNew--, str.charAt(indexOfOriginal));
} else {
str.setCharAt(indexOfNew--, '0');
str.setCharAt(indexOfNew--, '2');
str.setCharAt(indexOfNew--, '%');
}
indexOfOriginal--;
}
return str.toString();
}
java 简便方法:
public String replaceSpace(String str) {
if (str == null)
return null;
StringBuffer sb = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
if (String.valueOf(str.charAt(i)).equals(" ")) {
sb.append("%20");
}else {
sb.append(str.charAt(i));
}
}
return String.valueOf(sb);
}
总结方法: