一、字符串相關(guān)函數(shù)的操作 1、indexOf(String str, int fromIndex)//返回指定子字符串在此字符串中第一次出現(xiàn)處的索引,從指定的索引開始。 說明:字符串的索引從0開始! 2、substring(int beginIndex, int endIndex)//返回一個新字符串,它是此字符串的一個子字符串。 說明:返回的字符串是beginIndex~endIndex-1,因此得到的字符串長度為endIndex-beginIndex?
例如:"hamburger".substring(4,

(1)、以為 str.replaceAll("ab","b");就把str中的所有"ab"換成了"b"!注意,這個函數(shù)是將替換后的字符串返回了。因此應(yīng)該str=str.replaceAll("ab","b");?
(2)、?
4、split(String regex)//根據(jù)給定正則表達(dá)式的匹配拆分此字符串。返回String[] 說明:?
(1)、String str=""," ",null,這三者的區(qū)別。?
"",分配了內(nèi)存,但值為空,length=0;java中不存在像C/C++中那樣字符串后面有"\0"?
" ",分配了內(nèi)存,值為空格,length=1,對應(yīng)一個ASCII碼?
null,沒有分配內(nèi)存,無法引用.length(),僅將str引用置為null,表示無引用~?
(2)、String[] xy = new String[0];?
在Java中允許創(chuàng)建一個大小為0的數(shù)組,也就是說"int[] emptyArray = new int[0];"在Java中是正確的。這樣的數(shù)組沒有分配空間?。用處是:當(dāng)返回數(shù)組中元素為0時,可以不用返回null,而是返回一個[0]的數(shù)組,引用時不會像引用null那樣出現(xiàn)異常!。當(dāng)然,大小為負(fù)數(shù)的數(shù)組在Java中是不被允許的。 (3)、split()函數(shù)中會出現(xiàn)很奇怪的問題,例如http://www.cnblogs.com/liubiqu/archive/2008/08/14/ 1267867.html
eg..1:?
String s = "abc";?
String[] keys = s.split("");?
結(jié)果:keys長度為4,值分別為"",a,b,c。至今未能弄明白數(shù)組的第一個元素從何而來??
eg..2:?
String s = " abc";//第一個位置上是空格?
String[] keys = s.split(" ");//中間是空格?
結(jié)果:keys長度為2,值為"",abc,也就是"空格"是分隔符!,這種才能通過空格來分割字符串,注意,不是第一種那樣做!?
注意:s="? ab",則用空格分開后的keys長度為3,分別為"","",ab。??
而s="ab? ",則空格分開后的keys長度為1,是ab。這說明字符串中第一個字符是否為空格這一條件很重要!????
若s=" ",則空格分開后的keys長度為0,說明字符串中是否有字符也很重要。
eg..3:?
String s = " abc";?
String[] keys = s.split("x");//字符串中不存在的字符?
結(jié)果:keys長度為1,值為" abc"。?
說明:如果split的字符串中不含有該子串,則返回原字符串!?
eg..4:?
String s = "abc";?
String[] keys = s.split(".");//特殊字符,若不轉(zhuǎn)義("\\."),則會無法split,返回數(shù)組個數(shù)為0!?
結(jié)果:keys長度為0!??
說明:split無法進(jìn)行后,不會返回一個null,而是返回一個大小為0的數(shù)組。這樣程序更加健壯! 二、其他
5、java中char和int間的轉(zhuǎn)化:
char可以直接轉(zhuǎn)為int:?
char x = 'A'; int y = x;?
int轉(zhuǎn)char則需要強(qiáng)制轉(zhuǎn)換!?
x=(char)y;
6、正則匹配字符串。?
String s = "abcd";?
System.out.println(s.match("[a-zA-Z]*"));//print true
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
