【字符串】字符串中字符替换
* 实现一个算法,替换字符串中的空格为%20
* 字符串有足够的空间存放新增的字符,这个对于Java来说,只能是字符数组或者StringBuilder
* 思路:
* 先将空格查出来,然后这个个数再加上原来字符串的长度就是新的字符串的长度;
* 再利用双指针一一替换
1 private static String replace(char[] str, int length) { 2 int count=length; 3 for (int i = 0; i < length; i++) { 4 if( str[i]== ' '){ 5 count+=2; 6 } 7 } 8 9 int p1=length-1,p2=count-1; 10 while(p1>=0){ 11 if(str[p1]==' '){ 12 str[p2--]='0'; 13 str[p2--]='2'; 14 str[p2--]='%'; 15 }else{ 16 str[p2--]=str[p1]; 17 } 18 p1--; 19 20 } 21 22 return new String(str,0,count); 23 24 }
利用Java语言的API
1 String str = "aa bcde fag00000000000000000000"; 2 System.out.println(str.replaceAll(" ", "%20"));
浙公网安备 33010602011771号