题解 | #二维数组中的查找#
替换空格
http://www.nowcoder.com/practice/0e26e5551f2b489b9f58bc83aa4b6c68
/** * @author jingbu * * 替换空格 * 请实现一个函数,将一个字符串中的每个空格替换成“%20”。 * 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 * * 要点 * 字符串的操作方法 * ==“ ”与.equals(" ")的区别 */ public class Main { public static void main(String[] args) { String str="We Are Happy"; System.out.println(str.length()); Solution solution = new Solution(); System.out.println(solution.replaceSpace(str)); } } class Solution { public String replaceSpace (String s) { //把String类型转为StringBuffer,为了更好的操作字符串且节约空间 StringBuffer stringBuffer = new StringBuffer(s); for (int i = 0; i < stringBuffer.length(); i++) { //取出字符串中的每一个字符 String s1 = stringBuffer.substring(i, i + 1); //如果该字符为空,就用要求值替换 //==如果对引用对象比较,比较的是地址,equals()重写之后比较的内容 //此处不能使用== : s1的地址在堆空间内,“==”在常量池内,永远不会相等 if(s1.equals(" ")){ stringBuffer.replace(i,i+1,"%20"); } } //将StringBuffer类型转为String return stringBuffer.toString(); } }