【字符串】字符串中字符替换

* 实现一个算法,替换字符串中的空格为%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     }
方法1

利用Java语言的API

1     String str = "aa bcde fag00000000000000000000";
2         System.out.println(str.replaceAll(" ", "%20"));
方法2

posted on 2021-01-24 22:05  丁不煮  阅读(427)  评论(0)    收藏  举报

导航