String——替换空格
来源:互联网 发布:矩阵式柔性充电堆技术 编辑:程序博客网 时间:2024/06/04 00:28
方法一:
使用String的replaceAll方法。
public class Solution {
public String replaceSpace(StringBuffer str) {
String string=str.toString();
return string.replaceAll(" ","%20");
}
}
方法二:
使用split()方法以空格为分隔符时,split()识别在String开头出现的空格,但不识别在结尾出现的空格(只针对” “)。
方法三:
在当前字符串替换,怎么替换才更有效率(不考虑java里现有的replace方法)。
从前往后替换,后面的字符要不断往后移动,要多次移动,所以效率低下
从后往前,先计算需要多少空间,然后从后往前移动,则每个字符只为移动一次,这样效率更高一点。
public String replaceSpace(StringBuffer str) { int count=0; int oldlength=str.length(); for(int i=0;i<oldlength;i++) { if(str.charAt(i) == ' ') count++; } if(count == 0) return str.toString(); int newlength=oldlength+count*2; str.setLength(newlength);//扩大StringBuffer的长度,防止下标越界! int oldindex=oldlength-1; int newindex=newlength-1; while(oldindex>=0&&newindex>oldindex) { if(str.charAt(oldindex) == ' ') { str.setCharAt(newindex--,'0');//setCharAt(int index,char ch) str.setCharAt(newindex--,'2'); str.setCharAt(newindex--,'%'); } else str.setCharAt(newindex--,str.charAt(oldindex)); oldindex--; } return str.toString(); }
0 0
- String——替换空格
- 字符串—空格替换
- 剑指offer—替换空格
- 剑指offer—替换空格
- c++ string对象 空格替换
- 《剑指offer》——替换空格
- 《剑指offer》——替换空格
- 剑指offer——替换空格 C++
- 剑指Offer——替换空格
- 《剑指offer》——替换空格
- 剑指offer——字符串空格替换
- 剑指Offer——替换空格
- 替换空格——剑指offer
- 剑指offer —— 替换空格
- 剑指offer——替换空格
- 剑指offer——替换空格
- 剑指offer——空格替换
- 剑指offer——替换空格
- 13.View的事件分发机制——dispatchTouchEvent详解
- IIS7.5发布webservice出现的错误及解决
- 动态规划入门题
- java正则表达式基本符号
- 【c++】第十二周上机实践作业 项目 4
- String——替换空格
- 子串统计
- poj 1651 Multiplication Puzzle -- (动态规划,区间dp)
- Android中进程管理
- iOS指定页面屏幕旋转,手动旋转(iOS 屏幕旋转只在当前控制器生效)
- 《IT经理世界》杂志
- Java面试题--只提出了问题
- 记录:EXC_BAD_ACCESS
- 【Python学习笔记】基础