即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

字符串操作

编程语言 qq_32120667 102℃ 0评论

java字符串也是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理。将字符串作为内置的对象处理允许Java提供十分丰富的功能特性以方便处理字符串。下面是一些使用频率比较高的函数及其相关说明。 


String相关函数



1)substring()


它有两种形式,第一种是:String substring(int startIndex)


第二种是:
String substring(int startIndex,int endIndex)


2)concat() 连接两个字符串



:String s=”Welcome to “;


  
String t=s.concat(“AnHui”);


3)replace() 替换



它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:


String replace(char original,char replacement)


例如:String s=”Hello”.replace(’l’,’w’);


第二种形式是用一个字符序列替换另一个字符序列,形式如下:



String replace(CharSequence original,CharSequence replacement)


4)trim() 
去掉起始和结尾的空格


5)valueOf() 转换为字符串


6)toLowerCase() 转换为小写


7)toUpperCase() 转换为大写


8)length() 取得字符串的长度


例:char chars[]={’a’,’b’.’c’};


String s=new String(chars);


int len=s.length();


9)charAt() 截取一个字符



例:char ch;


   
ch=”abc”.charAt(1); 


    返回值为
’b’


10)getChars() 截取多个字符



void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)


sourceStart 
指定了子串开始字符的下标


sourceEnd 指定了子串结束后的下一个字符的下标。因此,子串包含从sourceStart到sourceEnd-1的字符。


target 指定接收字符的数组


targetStart target中开始复制子串的下标值


例:String s=”this is a demo of the getChars method.”;


char buf[]=new char[20];


s.getChars(10,14,buf,0);


11)getBytes()


替代getChars()的一种方法是将字符存储在字节数组中,该方法即
getBytes()


例:



String s = “Hello!你好!”; 


               Java字符串函数

java中的字符串也是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理。将字符串作为内置的对象处理允许Java提供十分丰富的功能特性以方便处理字符串。下面是一些使用频率比较高的函数及其相关说明。

String相关函数


1)substring()


它有两种形式,第一种是:String substring(int startIndex)


第二种是:String substring(int startIndex,int endIndex)


2)concat() 连接两个字符串

:String s=”Welcome to “;


    String t=s.concat(“AnHui”);


3)replace() 
替换


它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:


String replace(char original,char replacement)


例如:String s=”Hello”.replace(’l’,’w’);


第二种形式是用一个字符序列替换另一个字符序列,形式如下:


String replace(CharSequence original,CharSequence replacement)



4)trim() 去掉起始和结尾的空格


5)valueOf() 转换为字符串


6)toLowerCase() 转换为小写


7)toUpperCase() 转换为大写


8)length() 取得字符串的长度


例:char chars[]={’a’,’b’.’c’};


String s=new String(chars);


int len=s.length();



9)charAt() 截取一个字符


例:char ch;


      ch=”abc”.charAt(1); 


       
返回值为’b’


10)getChars() 截取多个字符


void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)


sourceStart 
指定了子串开始字符的下标


sourceEnd 
指定了子串结束后的下一个字符的下标。因此,子串包含从sourceStartsourceEnd-1的字符。


target 
指定接收字符的数组


targetStart target
中开始复制子串的下标值


例:String s=”this is a demo of the getChars method.”;


char buf[]=new char[20];


s.getChars(10,14,buf,0);



11)getBytes()


替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()


例:


String s = “Hello!
你好!”; 


byte[] bytes = s.getBytes();



12)toCharArray()


例:


String s = “Hello!
你好!”; 


char[] ss = s.toCharArray();



13)equals()equalsIgnoreCase() 比较两个字符串


14)regionMatches() 用于比较一个字符串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。


boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars)


boolean regionMatches(boolean ignoreCase,int startIndex,String


str2,int str2StartIndex,int numChars)



15)startsWith()endsWith()


startsWith()
方法决定是否以特定字符串开始

endWith()方法决定是否以特定字符串结束


16)equals()==


equals()
方法比较字符串对象中的字符

==运算符比较两个对象是否引用同一实例。


例:String s1=”Hello”;


String s2=new String(s1);


s1.eauals(s2); //true


s1==s2;//false



17)compareTo()compareToIgnoreCase() 比较字符串


18)indexOf()lastIndexOf()


indexOf() 
查找字符或者子串第一次出现的地方。


lastIndexOf() 
查找字符或者子串是后一次出现的地方。

 19)trim去空格函数

: String t1 = ”     abc    de     “;


  System.out.println(t1.trim());// 
去掉开头和结尾的空格“abc de”

20)split字符串分割

 String y = “abc,de,fg,hi,jk”;


  String[] y1 = y.split(“,”);// 
截取字符串所有“,”字符


  for (int i = 0; i < y1.length; i++) {


   System.out.print(y1[i]);// 
输出结果abcdefghijk


  }

21)append 添加或插入函数

 StringBuffer zz1 = new StringBuffer(z1);// append 插入字符


  zz1.append(‘|’).append(“hijk”).append(‘/’).append(“lmn”).append(“opq”);


  System.out.println();


  System.out.print(zz1);// 
输出:abcdefg|hijk/lmnopq

StringBuffer构造函数


StringBuffer定义了三个构造函数:


StringBuffer()


StringBuffer(int size)


StringBuffer(String str)


StringBuffer(CharSequence chars)



下面是StringBuffer相关的函数:


1)length()
capacity()


一个StringBuffer当前长度可通过length()方法得到,而整个可分配空间通过capacity()方法得到。


2)ensureCapacity() 设置缓冲区的大小


void ensureCapacity(int capacity)



3)setLength() 设置缓冲区的长度


void setLength(int len)



4)charAt()setCharAt()


char charAt(int where)


void setCharAt(int where,char ch)



5)getChars()


void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)



6)append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。


例:int a=42;


StringBuffer sb=new StringBuffer(40);


String s=sb.append(”a=”).append(a).append(”!”).toString();



6)insert() 插入字符串


StringBuffer insert(int index,String str)


StringBuffer insert(int index,char ch)


StringBuffer insert(int index,Object obj)


7)index
指定将字符串插入到StringBuffer对象中的位置的下标。


8)reverse() 颠倒StringBuffer对象中的字符


StringBuffer reverse()



9)delete()deleteCharAt() 删除字符


StringBuffer delete(int startIndex,int endIndex)


StringBuffer deleteCharAt(int loc)



10)replace() 替换


StringBuffer replace(int startIndex,int endIndex,String str)



11)substring() 截取子串


String substring(int startIndex)


String substring(int startIndex,int endIndex)

写个例子

package com.yunos.account.controller.api; 


 


import org.apache.commons.lang.StringUtils; 


 


 


 


public class Test { 


     


    public static void main(String[] args) { 


        String str = “Hello World”; 


         


        /* 截取字符串 substring*/ 


        String string1 = str.substring(5, 10);  


        System.out.println(string1); 


         


        /* 连接字符串 concat*/ 


        String concatString = “Yes “; 


        String string2 = concatString.concat(str); 


        System.out.println(string2); 


         


        /* 替换字符串 replace*/ 


        String string3 = str.replace(“Hello”, “123”); 


        System.out.println(string3); 


         


        /* 去除首尾空格 trim*/ 


        String string4 = ” TRIM “.trim(); 


        System.out.println(string4); 


         


        /* 转换为小写  toLowerCase*/ 


        String string5 = “ASODOIASODI”.toLowerCase(); 


        System.out.println(string5); 


         


        /* 转换为大写  toUpperCase*/ 


        String string6 = “asdasdasd”.toUpperCase(); 


        System.out.println(string6); 


         


        /* 字符串长度 length*/ 


        int len = “asdasdasd”.length(); 


        System.out.println(len); 


         


        /* 截取一个字符 charAt */ 


        char ch = “asdasdasd”.charAt(6); 


        System.out.println(ch); 


         


        /* bytes */ 


        String string7 = “Hello!你好!”; 


        byte[] bytes = string7.getBytes(); 


        System.out.println(bytes); 


         


        /* 字符串转字符数组 */ 


        String string8 = “Hello!你好!”; 


        char[] chs = string8.toCharArray(); 


        System.out.println(chs.toString()); 


         


        /* 字符串比较函数 */ 


        if (!str.equals(“1111”)) { 


            System.out.println(“字符串不一样”);  


        } 


         


        /* 是否以特定字符开始 */ 


        if (str.startsWith(“Hello”)) { 


            System.out.println(“以Hello开头”);  


        } 


         


        /* 是否以特定字符结尾 */ 


        if (str.endsWith(“World”)) { 


            System.out.println(“以World结尾”);  


        } 


         


        /* 查找字符出现位置 */ 


        int ddd = str.indexOf(“W”); 


        System.out.println(ddd);  


         


        /* 检查字符串是否为空 null “” ” ” */ 


        if (StringUtils.isBlank(str)) { 


            System.out.println(“空”);  


        } 


         


        /* 检查字符串不为空 null “” ” ” */ 


        if (StringUtils.isNotBlank(str)) { 


            System.out.println(“空”);  


        } 


         


        /* 检查字符串是否为空 null 和 “” */ 


        if (StringUtils.isEmpty(str)) { 


            System.out.println(“空”);  


        } 


         


        /* 检查字符串不为空 null 和 “” */ 


        if (StringUtils.isNotEmpty(str)) { 


            System.out.println(“空”);  


        } 


         


    } 


package com.yunos.account.controller.api;

import org.apache.commons.lang.StringUtils;

 

public class Test {


   


    public static void main(String[] args) {


        String str = “Hello World”;


       


        /* 截取字符串 substring*/


        String string1 = str.substring(5, 10);


        System.out.println(string1);


       


        /* 连接字符串 concat*/


        String concatString = “Yes “;


        String string2 = concatString.concat(str);


        System.out.println(string2);


       


        /* 替换字符串 replace*/


        String string3 = str.replace(“Hello”, “123”);


        System.out.println(string3);


       


        /* 去除首尾空格 trim*/


        String string4 = ” TRIM “.trim();


        System.out.println(string4);


       


        /* 转换为小写  toLowerCase*/


        String string5 = “ASODOIASODI”.toLowerCase();


        System.out.println(string5);


       


        /* 转换为大写  toUpperCase*/


        String string6 = “asdasdasd”.toUpperCase();


        System.out.println(string6);


       


        /* 字符串长度 length*/


        int len = “asdasdasd”.length();


        System.out.println(len);


       


        /* 截取一个字符 charAt */


        char ch = “asdasdasd”.charAt(6);


        System.out.println(ch);


       


        /* bytes */


        String string7 = “Hello!你好!”;


        byte[] bytes = string7.getBytes();


        System.out.println(bytes);


       


        /* 字符串转字符数组 */


        String string8 = “Hello!你好!”;


        char[] chs = string8.toCharArray();


        System.out.println(chs.toString());


       


        /* 字符串比较函数 */


        if (!str.equals(“1111”)) {


            System.out.println(“字符串不一样”);


        }


       


        /* 是否以特定字符开始 */


        if (str.startsWith(“Hello”)) {


            System.out.println(“以Hello开头”);


        }


       


        /* 是否以特定字符结尾 */


        if (str.endsWith(“World”)) {


            System.out.println(“以World结尾”);


        }


       


        /* 查找字符出现位置 */


        int ddd = str.indexOf(“W”);


        System.out.println(ddd);


       


        /* 检查字符串是否为空 null “” ” ” */


        if (StringUtils.isBlank(str)) {


            System.out.println(“空”);


        }


       


        /* 检查字符串不为空 null “” ” ” */


        if (StringUtils.isNotBlank(str)) {


            System.out.println(“空”);


        }


       


        /* 检查字符串是否为空 null 和 “” */


        if (StringUtils.isEmpty(str)) {


            System.out.println(“空”);


        }


       


        /* 检查字符串不为空 null 和 “” */


        if (StringUtils.isNotEmpty(str)) {


            System.out.println(“空”);


        }


       


    }


}








转载请注明:CodingBlog » 字符串操作

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情