用java自己实现String类的trim()方法功能

来源:互联网 发布:淘宝手机删除评价链接 编辑:程序博客网 时间:2024/06/11 02:45

  用java自己实现String类的trim()方法功能

  我们都知道String类中的trim()方法的功能在于:“返回字符串的副本,其中该副本忽略前导空白和尾部空白。”(这是api的定义)。现在本博文将自己实现String类的trim()的功能,算是属于一个小算法吧!

  我的思路是这样的:设置两个跑标p1,p2置于字符数组(可由字符串的toCharArray()方法获取)的首,尾,p1需要做的事情:从首到尾找出字符串首部第一次不为空格' '的字符所在的位置pos1;同样的道理,p2需要做的事情:从尾到首找出字符串尾部第一次不为空格' '的字符所在的位置pos2。这样子就确定了该字符串的首尾中去掉了空格 ' ' 的位置pos1,pos2,最后采用字符串的subString(int p1,int p2)进行进行截取即可,其中需要将subString(p1,p2)改为subString(p1,p2+1);

  下面是代码

/** * 仿写String的 trim()方法 * @author zhonglinsen * 2016-3-1 下午 */public class StringExer {public static void main(String[] args) {String str1="abcdfef dfsd";String str2="  abcd fd";String str3="adbc fd  ";String str4="  fdf fdfd   ";String str5="       ";//System.out.println(testTrim(str1));//System.out.println(testTrim(str2));//System.out.println(testTrim(str3));//System.out.println(testTrim(str4));System.out.println(testTrim(str5));}/** * 仿照String的trim() * @param strArg:需要进行去掉前后空格符的字符串 * @return:返回字符串的副本,该副本进行去掉了首尾空格符 */public static String testTrim(String strArg){char[] cVal=strArg.toCharArray();int p1=0;int len=cVal.length;//从首到尾进行遍历,如果发现了第一个不是  ' ' 就break:表示终止了遍历,找到了首部到尾部第一个不为 ' ' 的位置while(p1 < len){if (cVal[p1] == ' ') {p1 += 1;}else{break;}}//这说明  strArg 压根就是由空格字符组成的字符串if (p1 == len) {return "";}//从尾部到首部进行遍历,如果发现了第一个不是  ' ' 就break:表示终止了遍历,找到了尾部到首部第一个不为 ' ' 的位置int p2=len-1;while(p2 >= 0){if (cVal[p2] == ' ') {p2 -= 1;}else{break;}}String subStr=strArg.substring(p1,p2+1);return subStr;}}

  结果很明显是实现了该功能,或许有可以进行优化的地方,欢迎留言与我讨论交流!

 


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电风扇2档3档开好关不管用怎么办 gta5把车替换了怎么办 gta5任务完成后卡了怎么办 gta5车被扣押了怎么办 侠盗猎车手5卡怎么办 英雄联盟转区后没法快捷施法怎么办 欠太多人的钱怎么办 我欠了很多钱怎么办 输了那么多钱我该怎么办 家里欠了钱我该怎么办 欠了好多钱我该怎么办 赌球输了好几千怎么办 欠信用卡的人死了怎么办 欠别人钱人死了怎么办 别人欠我钱人死了怎么办 美国生娃孩子怎么办医保 黑在美国病了怎么办 在外打工房租太贵怎么办 在外面打工房租租不起怎么办 买车型号错了怎么办 沃出行不退押金怎么办 钢铁雄心4人力0怎么办 钢铁雄心4没工厂怎么办 钢铁雄心4锁区怎么办 qq超市金币满了怎么办 旋转轮胎2车翻了怎么办 轮胎里面卡进小石子应该怎么办 手游吃鸡模拟器已经到达上限怎么办 逆战场手游模拟器黑屏怎么办 欧洲卡车2翻车了怎么办 卧式注塑机锁模久了打不开怎么办 欧洲卡车2困了怎么办 欧卡2没油了怎么办 欧卡2车卡住了怎么办 欧卡2车子卡住了怎么办 做题手感变差怎么办 吃鸡游戏掉帧怎么办 买了俄区游戏怎么办 战地1子弹用完了怎么办 1kb彩信点开了怎么办 玩地球末日卡顿怎么办