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!你好!”;
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)
本文來自CSDN博客,轉載請標示出處:http: //blog.csdn.net/hzy20090501/archive/2009/12/30/5103817.aspx
-