剑指Offer——替换空格
来源:互联网 发布:网络同步课堂 编辑:程序博客网 时间:2024/05/22 06:47
题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
编程思路:
public class 替换空格 {public static void main(String[] args) {StringBuffer sb = new StringBuffer("Hello World hao zhong");System.out.println(sb);System.out.println(replaceSpace1(sb));System.out.println(replaceSpace2(sb));System.out.println(replaceSpace3(sb));System.out.println(replaceSpace4(sb));}//方法1:使用StringBuffer中的replace和insert方法public static String replaceSpace1(StringBuffer str) {for(int i = 0;i<str.length();i++){if(str.charAt(i)==' '){str.replace(i, i+1, "%");str.insert(i+1, "20");} }return str.toString();}//方法2:使用Sting中的replaceAll方法(有正则表达式) public static String replaceSpace2(StringBuffer str) { return str.toString().replaceAll("\\s","%20"); // return str.toString().replaceAll(" ", "%20"); } //方法3:使用StingBuffer中的append方法(有正则表达式) public static String replaceSpace3(StringBuffer str) { char[] strChar = str.toString().toCharArray(); StringBuffer stb = new StringBuffer(); for(int i=0;i<strChar.length;i++){ if(strChar[i]==' '){ stb.append("%20"); }else{ stb.append(strChar[i]); } } return stb.toString(); } //方法4:在创建一个扩充长度后的字符数组。 public static String replaceSpace4(StringBuffer str) { int space_num = 0; for(int i = 0;i<str.length();i++){ if(str.charAt(i) == ' ') space_num++; } char[] ch = new char[str.length()+2*space_num]; for(int i = 0,j = 0;i<str.length();){ if(str.charAt(i) == ' '){ ch[j++] = '%'; ch[j++] = '2'; ch[j++] = '0'; i++; }else{ ch[j++] = str.charAt(i++); } } return String.valueOf(ch); }}
0 0
- 剑指offer—替换空格
- 剑指offer—替换空格
- 《剑指offer》——替换空格
- 《剑指offer》——替换空格
- 剑指offer——替换空格 C++
- 剑指Offer——替换空格
- 《剑指offer》——替换空格
- 剑指offer——字符串空格替换
- 剑指Offer——替换空格
- 替换空格——剑指offer
- 剑指offer —— 替换空格
- 剑指offer——替换空格
- 剑指offer——替换空格
- 剑指offer——空格替换
- 剑指offer——替换空格
- 剑指offer——替换空格
- 剑指offer——2.替换空格
- 剑指offer刷题—替换空格
- PostgreSQL之Array_to_String用法
- MIPS-单周期CPU设计
- Mac OS X中配置Apache
- hihocode 1014 Trie树
- 嵌入式软件调试方法
- 剑指Offer——替换空格
- 如何消灭inline元素换行产生的空白
- securecrt使用vbs脚本向多个tabs窗口发送带变量的命令
- spark-join
- Swift常量与变量、类型转换
- js中的slice,splice,split的区分
- CNNs学习笔记(3):卷积神经网络-Lenet-5实现
- database synchronization
- 机器学习基础(五十五)—— 核(Kernel Trick)