学习目标:
目标:熟练运用 Java所学知识
题目内容:
本文内容: 使用Java实现:替换空格
题目描述:
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”
解题思路:
巧解:由于我今天上午刚学完String,所以直接就想到了String中有一个可以替换某个字符串的方法replaceAll();所以问题迎刃而解;
正常解题思路:可以重新创建一个数组,然后使用charAt()方法得到字符串的每一个字符,一个一个放入新数组,遇到空格则替换;因为要将空格替换成%20,所以可以先将新数组大小创建成字符串长度*3;
实现代码:
public class Practice_02 {
public static void main(String[] args) {
String s = "We are happy.";
System.out.println(replaceSpace(s));//巧借 replaceAll()
System.out.println(replaceSpace2(s));
}
//请实现一个函数,把字符串 s 中的每个空格替换成"%20"
public static String replaceSpace(String s) {
return s.replaceAll(" ", "%20");
public static String replaceSpace2(String s) {
char[] arr = new char[s.length() * 3];
int size = 0;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);//得到字符串每一个字符
if (' ' == c) {
arr[size++] = '%';
arr[size++] = '2';
arr[size++] = '0';
} else {
arr[size++] = s.charAt(i);
}
}
return new String(arr, 0, size);//将数组作为字符串返回
}
}
}
运行结果:
We%20are%20happy.
We%20are%20happy.