码迷,mamicode.com
首页 > 其他好文 > 详细

(十二)修改字符串中的空格

时间:2019-02-26 17:45:05      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:ace   eof   传输   nbsp   isa   pre   遍历   个数   turn   

一、问题描述

给定一个数组形的字符串。为了网络传输,方便通用型,需求把空格变为  %20。

 

二、思路和Code

 1 package algorithm;
 2 
 3 /**
 4  * Created by adrian.wu on 2019/2/26.
 5  */
 6 public class ReplaceSpace {
 7     /*
 8     先遍历,求出spaceCount数目。
 9     1、设定一个指针,P1
10     2、P1指向原始string的尾部。
11     3、从后向前遍历。
12     4、P1遇到字符把字符向后移动,移动的位置为P1+2*spaceCount。
13     5、P1遇到空格则添加对应的字符。然后spaceCount--。
14      */
15 
16     public String replaceSpace(char[] string, int len) {
17         int p1 = len - 1, sc = 0;
18         for (int i = 0; i < len; i++)
19             if (string[i] == ‘ ‘) sc++;
20 
21         for (; p1 >= 0; p1--) {
22             if (Character.isAlphabetic(string[p1])) string[p1 + sc * 2] = string[p1];
23             else {
24                 string[p1 + sc * 2] = ‘0‘;
25                 string[p1 + sc * 2 - 1] = ‘2‘;
26                 string[p1 + sc-- * 2 - 2] = ‘%‘;
27             }
28         }
29 
30         return String.valueOf(string);
31     }
32 }

 

(十二)修改字符串中的空格

标签:ace   eof   传输   nbsp   isa   pre   遍历   个数   turn   

原文地址:https://www.cnblogs.com/ylxn/p/10438184.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!