java字符串操作方法整理by XForce.doc_第1页
java字符串操作方法整理by XForce.doc_第2页
java字符串操作方法整理by XForce.doc_第3页
java字符串操作方法整理by XForce.doc_第4页
java字符串操作方法整理by XForce.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

java中字符串操作方法整理 本篇文章和本人写的“java中文件操作大全”一样,都是本人工作学习中总结所得,不断更新,不断完善。一.Java字符串类基本概念在JAVA语言中,字符串数据实际上由String类所实现的。Java字符串类分为两类:一类是在程序中不会被改变长度的不变字符串;二类是在程序中会被改变长度的可变字符串。Java环境为了存储和维护这两类字符串提供了 String和StringBuffer两个类。一、创建字符串例: String str=new(This is a String);或者 String str=This is a String;二、得到字符串对象的有关信息1.通过调用length()方法得到String的长度.例:String str=This is a String;int len =str.length();2.StringBuffer类的capacity()方法与String类的 length()的方法类似,但是她测试是分配给StringBuffer的内存空间的大小,而不是当前被使用了的内存空间。3如果想确定字符串中指定字符或子字符串在给定字符串的位置,可以用 indexOf()和lastIndexOf()方法。String str=This is a String;Int index1 =str.indexOf(i); /index=2Int index2=str.indexOf(i,index+1); /index2=5Int index3=str.lastIndexOf(I); /index3=15Int index4=str.indexOf(String); /index4=10三、String 对象的比较和操作1String 对象的比较String类的equals()方法用来确定两个字符串是否相等。String str=This is a String;Boolean result=str.equals(This is another String );/result=false2String对象的访问A、方法charAt()用以得到指定位置的字符。String str=This is a String;char chr=str.charAt(3); /chr=iB、方法getChars()用以得到字符串的一部分字符串public void getChars(int srcBegin,int srcEnd,chardst,int dstBegin)String str=This is a String;Char chr =new char10;Str.getChars(5,12,chr,0); /chr=is a StC、subString()是提取字符串的另一种方法,它可以指定从何处开始提取字符串以及何处结束。3操作字符串A、replace()方法可以将字符串中的一个字符替换为另一个字符。String str=This is a String;String str1=str.replace(T,t); /str1=this is a StringB、concat()方法可以把两个字符串合并为一个字符串。String str=This is a String;String str1=str.concat(Test); /str1=This is a String TestC、toUpperCase()和toLowerCase()方法分别实现字符串大小写的转换。String str=THIS IS A STRING;String str1=str.toLowerCase(); /str1=this is a string;D、trim()方法可以将字符串中开头和结尾处的空格去掉.String str=This is a String ;String str1=str.trim(); / str1=This is a StringE、String 类提供静态方法valueOf(),它可以将任何类型的数据对象转换为一个字符串。如System.out.println(String,ValueOf(math,PI);四、修改可变字符串StringBuffer类为可变字符串的修改提供了3种方法,在字符串中间插入和改变某个位置所在的字符。1在字符串后面追加:用append()方法将各种对象加入到字符串中。2在字符串中间插入:用insert()方法。例StringBuffer str=new StringBuffer(This is a String);Str.insert(9,test);System.out.println(str.toString();这段代码输出为:This is a test String3.改变某个位置所在的字符,用setCharAt()方法。二.字符串分割1.利用字符串类的split方法进行分割/*/*利用字符串的split方法进行分割*paramstr待分割的字符串*paramsdelimiter分割符*return*/publicStringsplitString(Stringstr,Stringsdelimiter).Stringarray=str.split(sdelimiter);returnarray;2.利用StringTokenizer来进行字符串分割/*/*利用StringTokenizer来进行字符串分割*paramstr待分割的字符串*paramsdelimiter分割符*return*/publicStringuseStringTokenizer(Stringstr,Stringsdelimiter).StringTokenizertoken=newStringTokenizer(str,sdelimiter);Stringarray=newStringtoken.countTokens();inti=0;while(token.hasMoreTokens().arrayi=token.nextToken();i+;returnarray;三.字符串数组排序/*/*对字符串数组进行排序*paramstr原始字符串数组*paramflagflag=0:顺序排序flag=1:倒序排序*return排序后的字符串数组*/publicStringsort(Stringstr,intflag).if(str=null|str.length=0)thrownewIllegalArgumentException();Stringtemp=str0;/顺序排列,即从小到大if(flag=0).for(inti=0;istr.length-1;i+).for(intj=i+1;j0).temp=stri;stri=strj;strj=temp;elseif(flag=1)./倒序排列for(inti=0;istr.length-1;i+).for(intj=i+1;jstr.length;j+).if(pareTo(strj)0).temp=stri;stri=strj;strj=temp;returnstr;四.使用Hashtable对字符串进行碰撞利用hashtable对字符串进行过滤,两个字符数组之间的比较,对字符串数组进行过滤1.在一些字符串数组中,常会有重复的记录,比如手机号码,我们可以通过Hashtable来对其进行过滤publicStringcheckArray(Stringstr).Hashtablehash=newHashtable();for(inti=0;istr.length;i+).if(!hash.containsKey(stri)hash.put(stri,stri);Enumerationenumeration=hash.keys();Stringstr_new=newStringhash.size();inti=0;while(enumeration.hasMoreElements().str_newi=enumeration.nextElement().toString();i+;returnstr_new;示例: String mobile1381107150013811071503 mobile=checkArray(mobile); for(int i=0;imobile.length;i+) System.out.println(mobilei); 输出结果为:13811071501 138110715002.A,B均为字符串数组,找出在A中存在,而在B中不存在的字符串 public String compareArray(String A,String B) Hashtable hash=new Hashtable(); Hashtable hash_new=new Hashtable(); for(int i=0;iB.length;i+) hash.put(Bi, Bi); for(int i=0;iA.length;i+) if(!hash.containsKey(Ai) hash_new.put(Ai, Ai); String C=new Stringhash_new.size(); int i=0; Enumeration enumeration=hash_new.keys(); while(enumeration.hasMoreElements() Ci=enumeration.nextElement().toString(); i+; return C; 示例: String mobile11381107150113811071503 String mobile21381107150513811071506 String mobile3=compareArray(mobile1,mobile2); for(int i=0;imobile3.length;i+) System.out.println(mobilei);输出结果:13811071501存在的问题:每次都是倒序,可以再对程序稍加改动,变成正序。 3.将一个字符串数组中某一个特定的字符串过滤掉/*/*检验一个字符串数组,若包含某一特定的字符串,则将该字符串从数组中删除,返回剩余的字符串数组*paramstr_array字符串数组*paramstr_remove待删除的字符串*return过滤后的字符串*/publicStringremoveStrFromArray(Stringstr_array,Stringstr_remove).Hashtablehash=newHashtable();for(inti=0;istr_array.length;i+).if(!s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论