用java自己实现String类的trim()方法功能
用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;}
}
结果很明显是实现了该功能,或许有可以进行优化的地方,欢迎留言与我讨论交流!
用java自己实现String类的trim()方法功能相关推荐
- String类的trim()方法之不能消除的空格
在后台数据统计清洗中,我们时常会遇到针对字符串的修改的问题,其中比较常见的就是消除字符串中的空格.这里笔者要阐述的不是如何消除字符串中出现的空格,而是在消除字符串中遇到的问题:有些空格不能使用trim ...
- Java基础:String类
相关阅读 Java基础:String类 Java字符串格式化 Java基础:正则表达式 1. 概述 字符串是由多个字符组成的一串数据(字符序列),字符串可以看成是字符数组. 在实际开发中,字符串的操作 ...
- java的知识点15——String基础、String类和常量池、String类常用的方法、字符串相等的判断、组合模式
String基础 1. String类又称作不可变字符序列. 2. String位于java.lang包中,Java程序默认导入java.lang包下的所有类. 3. Java字符串就是Unicode ...
- 关于JAVA的String类的一些方法
一.得到字符串对象的有关信息 1.通过调用length()方法得到String的长度. String str="This is a String"; int len =str.le ...
- java字符_Java String 类
Java String 类 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. 创建字符串 创建字符串最简单的方式如下: St ...
- 学java教程之String类
学编程吧学java教程之String类发布了,欢迎通过xuebiancheng8.com来访问 java类中的String类应该是用的最多的一个类,我们时时刻刻都离不开String类,时时刻刻都在用, ...
- Java中String类的concat方法___java的String字符串的concat()方法连接字符串和“+“连接字符串解释
Java中String类的concat方法 在了解concat()之前,首先需要明确的是String的两点特殊性. 长度不可变 值不可变 这两点从源码中对String的声明可以体现: private ...
- Java 11:String类中的新方法
Java 11:String类中的新方法 Java 11没有很多特定于语言的功能.因此,令人惊讶的是,在Java String Class中引入了6种新方法. Java 11 String类新方法 让 ...
- Java SE 027 String类源代码深析
Java SE 027 String类源代码深析 前言:此笔记为圣思园张龙老师讲述的java视频课程笔记,自己看视频学习时记录的,用于积累与复习,在此分享给学习软件编程的兄弟姐妹们,以供参考. 1.e ...
最新文章
- Spring boot 整合 Mybatis 实现增删改查(MyEclipse版)
- python--html to pdf
- smarty去除html标签,Smarty与脚本中的html标签爆裂
- mysql 取 映射数据库中_JAVA与数据库MySQL相连接
- jzoj1082-合并果子【堆,贪心】
- Redis-列表(List)基础
- Node.js 用户注册功能的实现
- 抗滑桩弹性计算方法_抗滑桩设计与计算99147
- 建立Socket Policy服务器
- 中国网站备案制度——祸国殃民
- 2022年自考专业考试(计算机应用)离散数学模拟冲刺题
- p2p网络中的NAT穿透
- 物联网平台具体都有哪些特点
- CTF也需要了解点电脑系统还原点
- 《平凡的世界》读后感
- 从事数据分析很牛X?要看你有没有认证
- 微信朋友圈得内容可以爬取吗?看完这篇你心里就有底了
- 单目图像深度估计 - 迁移篇:Depth Extraction from Video Using Non-parametric Sampling
- 余士维讲座中的十八个故事[转载]
- xtrabackup备份失败问题解决