今天在遇到一個問題,給你一串字符串,然后按照指定的分隔符進行分割,然后在返回字符串數組。於是想到了在java.lang下的String.split()方法。但是結果卻不可以,坑死寶寶了。
看一下Java API
看一下代碼
通過上面兩張圖我們可以看出,它返回的是一個字符串數組。 stringObj.split([separator,[limit]])
。
先介紹一下參數:
stringObj:這個是需要進行分割的String對象或者文字,它不會被split方法進行修改。<必選項>
separator:字符串或正則表達式對象,它標識了分隔字符串時使用的是一個還是多個字符。如果忽略該選項,返回包含整個字符串的單一元素數組。<可選項>
limit:該值用來限制返回數組中的元素個數(也就是最多分割成幾個數組元素,只有為正數時有影響)<可選項>
下面看一下使用:
示例一:
String var1 = "S;n;o;w;Wi;tch";
String[] var2 = var1.split(";");
for (int i = 0; i < var2.length; i++) {
System.out.println(var2[i]);
}
輸出結果為:
示例二:
String var1 = "S;n;o;w;Wi;tch";
String[] var2 = var1.split(";", 3);
for (int i = 0; i < var2.length; i++) {
System.out.println(var2[i]);
}
看一下輸出結果:
通過上面的輸出結果,我們可以看出limit的作用,就是用來限制返回數組的個數。當這個數字為負數,則沒有效果,小伙伴們可以自行測試。
示例三:
String var3 = "192.168.0.216";
String[] var4 = var3.split(".");
for (int j = 0; j < var4.length; j++) {
System.out.println(var4[j]);
}
但是,今天我就是遇到這個問題,沒有輸出結果,原來這些需要進行轉義,把var3.split(".")
換成var3.split("\\."
);就可以了。
(1)當用"."
進行分割滴時候,必須寫成String.split("\\.")
,而不能寫成String.split(".")
。
(2)當用"|"
進行分割滴時候,必須寫成String.split("\\
|”),而不能寫成String.split(“|”)。
(3)當在一個字符串中有多個分隔符,可以用"|"
作為連字符,比如:String var="z-1 and x-2 or c-3"
,如果想要分割這三個,那么就可以寫成這樣子String.split("and|or")
。
(4)當分隔符為"*"
,"+"
,如果寫成這樣子String.split("+")
,String.split("*")
,會出現錯誤。①:String.split("//+")
,String.split("//*)
,輸出結果為:字符串本身,不做任何修改。②:String.split("\\+")
,String.split("\\*")
這樣寫就是進行了轉義,輸出結果就是按"+"
,"*"
進行滴分割。
首先我們來看一下Java API
看一下代碼
我來解釋一下:startsWith(String str)就是來檢查你所要形參參數與你字符串開頭是否相同。startsWith(Sring str,int Index)其中Index指的是,你所要從原字符串下標第幾個與所需要形參參數作對比。當Index為0時,與startsWith(Sring str)效果一樣。
用法很簡單,看一下代碼:
String st1 = "snowWitch";
System.out.println("st1:" + st1.startsWith("no", 1));
String st2 = "snowWitch";
System.out.println("st1:" + st2.startsWith("no"));
String st3 = "snowWitch";
System.out.println("st2:" + st3.startsWith("sn"));
String st4 = "snowWitch";
System.out.println("st4:" + st4.startsWith("sn", 0));
String st5 = "snowWitch";
System.out.println("st5:" + st5.startsWith("sn", 1));
運行結果如下:
用法就是這樣,如果有不明白滴地方,可以留言哦~
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。