替換字串中的空格《演算法很美》
替換字串中的空格
思路: 有兩種方法,一種是直接呼叫javaApi的形式替換字串中的空格,另外一種是自己寫,思路:先遍歷字串,用count來記錄空格變換成%20後的長度,然後設定兩個指標p1,p2進行調換。
具體思路:
”Mr John Smith0000000000000000000000“
- 將字串轉成字元陣列
"Mr John Smith0000000000000000000000".toCharArray()
- 遍歷iniString[]陣列,根據’ '來增加count的長度。
- 原本count長度為
int count = length;(13)
此時count的長度為17 - 設定
p1 = length-1(12);
p2 = count-1(16)
while(p1>=0)
遍歷p1Mr John Smith
|Mr John Smith0000000000000000000000
- 從後面開始判斷,如果是字元就往後移動,如果是空格就在後面加上%20,幹完一件事都要p1–。 記得是在16的位置
Mr John Smith000h000000000000000000
Mr John Smith00th000000000000000000
Mr John Smith0ith000000000000000000
Mr John Smithmith000000000000000000
Mr John SmitSmith000000000000000000
Mr John S%20Smith000000000000000000
Mr John n%20Smith000000000000000000
Mr Johnhn%20Smith000000000000000000
Mr Johohn%20Smith000000000000000000
Mr JoJohn%20Smith000000000000000000
Mr%20John%20Smith000000000000000000
- 最後擷取0~count的長度即可
/*
請編寫一個方法,將字串中的空格全部替換為"%20",假定該字串有足夠的空間存放新增的字元
並且知道字串的真實長度(小於等於1000),同時保證字串由大小寫的英文字母組成。
給定一個string iniString 為原始的串,以及串的長度 int len,返回替換後的string。
測試樣例:
"Mr John Smith",13
返回:"Mr%20John%20Smith"
"Hello World",12
返回:"Hello%20%20World"
*
* */
public class 替換字串中的空格 {
public static void main(String[] args){
System.out.println(replaceSpace("Mr John Smith0000000000000000000000".toCharArray(),13));
}
public static String replaceSpace(String iniString, int length){
return iniString.replaceAll("\\s","%20");
}
public static String replaceSpace(char[] iniString, int length) {
int count = length;
for (int i = 0; i < length; i++) {
if (iniString[i]==' '){
count+=2;
}
}
int p1 = length-1;
int p2 = count-1;
while(p1>=0){
if (iniString[p1]==' '){
iniString[p2--]='0';
iniString[p2--]='2';
iniString[p2--]='%';
}else {
iniString[p2--]=iniString[p1];
}
p1--;
}
return new String(iniString,0,count);
}
}
相關文章
- js替換字串裡的空格JS字串
- Problem 4:替換空格(字串)字串
- 第五章 字串專題 ---------------- 5.4 實踐:替換字串中的空格字串
- 替換空格
- javascript將字串中的多個空格替換為一個空格的正則例項JavaScript字串
- js中字串的替換JS字串
- js中字串全部替換JS字串
- 壓縮字串《演算法很美》字串演算法
- linux中批量替換文字中字串Linux字串
- 字串匹配之KMP《演算法很美》字串匹配KMP演算法
- 【劍指offer】2.替換空格
- 正則替換 修改字元 去除空格字元
- offer通過--4替換空格-2
- 劍指offer-替換空格02
- Linux vi替換字串Linux字串
- [每日一題] 第十題:替換空格每日一題
- LeetCode 劍指 Offer 05. 替換空格LeetCode
- js replace替換字串,同時替換多個方法JS字串
- python如何將字串中的所有"you"替換成"we"Python字串
- python如何去掉字串中的空格Python字串
- Python字串string的查詢和替換Python字串
- 正規表示式的字串替換方法字串
- grep sed 大批次替換字串字串
- 判斷兩字串的字符集是否相同《演算法很美》字串演算法
- JavaScript replace()替換字串中指定字元JavaScript字串字元
- Linuxvivim查詢和替換字串命令Linux字串
- JavaScript 替換字串全部指定內容JavaScript字串
- 7-15 字串替換 (6分)字串
- JavaScript將字串中的多個空格縮減為一個空格JavaScript字串
- js面試題-找出字串中的數字,並替換為*JS面試題字串
- 安卓資源字串中加全形空格、半形空格、換行、@%等特殊字元安卓字串字元
- SQLserver2008批次替換字串SQLServer字串
- java字串%s格式化替換方法Java字串
- 使用 sed 命令查詢和替換檔案中的字串的 16 個示例字串
- 使用sed 命令查詢和替換檔案中的字串的方法總結字串
- Java替換PDF中的字型Java
- Java 替換PDF中的字型Java
- 使用正規表示式替換字串的方法(replace方法)字串