Java之split的用法與startWith的用法


今天在遇到一個問題,給你一串字符串,然后按照指定的分隔符進行分割,然后在返回字符串數組。於是想到了在java.lang下的String.split()方法。但是結果卻不可以,坑死寶寶了。

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("\\.");就可以了。

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("\\*")這樣寫就是進行了轉義,輸出結果就是按"+""*"進行滴分割。

startsWit用法:

首先我們來看一下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));

運行結果如下:
這里寫圖片描述
用法就是這樣,如果有不明白滴地方,可以留言哦~


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com