空格替换
Posted noaman_wgs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了空格替换相关的知识,希望对你有一定的参考价值。
【题目】
请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。 给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。 测试样例: "Mr John Smith”,13 返回:"Mr%20John%20Smith" ”Hello World”,12 返回:”Hello%20%20World”
【代码实现】
方法一:较简单
import java.util.*; public class Replacement { public String replaceSpace(String iniString, int length) { if (iniString == null || length <= 0){ return iniString; } StringBuilder sb = new StringBuilder(); for (int i = 0; i < length; i++){ if (iniString.charAt(i) == ‘ ‘){ sb.append("%20"); }else{ sb.append(iniString.charAt(i)); } } return sb.toString(); } }
方法二:比较麻烦
import java.util.*; public class Replacement { public String replaceSpace(String iniString, int length) { if (iniString == null || length <= 0) return iniString; int countBlank = 0; for (int i = 0; i < length; i++){ if (iniString.charAt(i) == ‘ ‘){ countBlank++; } } int newLength = length + 2 * countBlank; char[] iniString_array = iniString.toCharArray(); char[] newString_array = new char[newLength]; int index = 0; int index2 = 0; while(index < length){ if (iniString_array[index] == ‘ ‘){ newString_array[index2++] = ‘%‘; newString_array[index2++] = ‘2‘; newString_array[index2++] = ‘0‘; }else{ newString_array[index2++] = iniString_array[index]; } index++; } return new String(newString_array); } }
请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。
给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。
测试样例:
"Mr John Smith”,13
返回:"Mr%20John%20Smith"
”Hello World”,12
返回:”Hello%20%20World”
以上是关于空格替换的主要内容,如果未能解决你的问题,请参考以下文章