Java将字符串作为String类型对象来处理。将字符串作为内置的对象处理允许Java提供十分丰富的功能特性以方便处理字符串。下面是一些使用频率比较高的函数及其相关说明。
String相关函数
(1)substring()
它有两种形式:
第一种是:string.substring(int beginIndex)
第二种是:string.substring(int beginIndex,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');
结果为:Hewwo
第二种形式是用一个字符序列替换另一个字符序列,形式如下:
String replace(CharSequence original,CharSequence replacement)
(4)trim() 去掉起始和结尾的空格
(5)valueOf() 转换为字符串
(6)toLowerCase() 转换为小写
(7)toUpperCase() 转换为大写
(8)length() 取得字符串的长度(特别注意区分数组的.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!你好!”;
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