Java中實現String字符串分割的3種方法
Java中實現String字符串分割的3種方法
方法1:split(string) 方法
使用瞭 split(string) 方法通過指定分隔符將字符串分割為數組
public class Test { public static void main(String[] args) { String a = "1-1-1-1"; String[] temp; String delimiter = "-";// 指定分割字符 temp = a.split(delimiter);// 分割字符串 System.out.println(Arrays.toString(temp));//[1, 1, 1, 1] for (int i = 0; i < temp.length; i++) { //for 循環 System.out.print(temp[i]); //1111 } } }
[1, 1, 1, 1]
1111
在java.lang包中有String.split()方法,返回是一個數組。“.”和“|”都是轉義字符,必須得加"“;
如果用“.”作為分隔的話,必須是如下寫法:String.split(”\.“),這樣才能正確的分隔開,不能用String.split(”.“);
如果用“|”作為分隔的話,必須是如下寫法:String.split(”\|“),這樣才能正確的分隔開,不能用String.split(”|");
方法2:substring方法
substring(int beginIndex)該子字符串從beginIndex處的字符開始,直到此字符串末尾。
substring(int beginIndex, int endIndex)該子字符串從指定的 beginIndex 處開始,直到索引 endIndex – 1 處的字符。註意:其它一些語言第二個參數往往代表長度,JAVA不一樣。該子字符串的長度為 endIndex-beginIndex。
public class Test2 { public static void main(String[] args) { String a = "1-1-1-1"; String str1 = a.substring(0,1); System.out.println(str1); String str2 = a.substring(2,3); System.out.println(str2); String str3 = a.substring(4,5); System.out.println(str3); String str4 = a.substring(6); System.out.println(str4); } }
1111
方法3:StringTokenizer方法
Java中substring方法可以分解字符串,返回的是原字符串的一個子字符串。如果要講一個字符串分解為一個一個的單詞或者標記,可用StringTokenizer來解決
String 類的 split 方法,其實在字符串分割時可以調用 StringTokenizer,實例化一個 StringTokenizer 的對象,通過 hasMoreTokens() 與 nextToken()進行判斷並打印分割後的子字符串。
public class Test { public static void main(String[] args) { String a = "1-1-1-1"; StringTokenizer result = new StringTokenizer(a,"-"); // 實例化對象,並指向以 - 對 a 進行分割 while(result.hasMoreTokens()){ // 對 result 遍歷並打印子字符串; System.out.println(result.nextToken()); } } }
1
1
1
1
擴展:JAVA 截取字符串的三種方法 subString,StringUtils,split
主要有以下幾種方法:
1、通過subString()方法來進行字符串截取(最常用)
2、通過StringUtils提供的方法3
3、split()+正則表達式來進行截取
1、通過subString()方法來進行字符串截取,返回字符串中的子字符串,在java中有兩種用法
第一種,傳遞一個參數:
public String substring(int beginIndex) //該子字符串從指定索引處的字符開始,直到此字符串末尾。public String substring(int beginIndex) //該子字符串從指定索引處的字符開始,直到此字符串末尾。
第二種,傳遞兩個參數:
public String substring(int beginIndex, int endIndex) //從指定的 beginIndex 處開始,直到索引 endIndex - 1 處的字符。因此,該子字符串的長度為 endIndex-beginIndex。
//參數說明:beginIndex — 起始索引(包括)、endIndex — 結束索引(不包括)。
示例代碼:
public static void main(String[] args) { String Str = new String("hello wrold"); System.out.print("返回值,從第4位截取到字符串末尾 :" ); System.out.println(Str.substring(4) ); System.out.print("返回值,從第4位截取到第10位 :" ); System.out.println(Str.substring(4, 10) ); }
運行結果
返回值,從第4位截取到字符串末尾 : o wrold
返回值,從第4位截取到第10位 : o wrol
2、通過StringUtils提供的方法
//與第一種方法效果一樣 StringUtils.substring("hello world", 4); // 返回值,從第4位截取到字符串末尾 : o wrold StringUtils.substring("hello world", 4, 10); // 返回值,從第4位截取到第10位 : o wrol //截取某個字符串之前的字符 StringUtils.substringBefore("hello world", "l"); //結果是:he 這裡是以第一個”l”,為標準。 StringUtils.substringBeforeLast("hello world", "l"); //結果為:hello wor 這裡以最後一個“l”為準。 //截取某個字符串之後的字符 StringUtils.substringAfter("hello world", "l"); //結果是:lo world 這裡是以第一個”l”,為標準。 StringUtils.substringAfterLast("hello world", "l"); //結果為:d 這裡以最後一個“l”為準。 //截取兩個字符串之間隔的字符 StringUtils.substringBetween("hello world", "o"); //結果是: w 兩個o之間的字符串。 StringUtils.substringBetween("hello world", "l", "r"); //結果是: lo wo 第一個字符“l”與第一個字符“r”之間的字符串 StringUtils.substringsBetween("hello world", "l", "r"); //結果是:數組 [lo wo] 第一個字符“l”與第一個字符“r”之間的字符串,以數組形式返回。
用StringUtils需要導入common-lang3包
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.12.0</version> </dependency>
3、split()+正則表達式來進行截取
將字符串按照分割符截取,以數組形式返回
String str = "hello, name, 12345, 6789"; String[] strs=str.split(","); for(int i=0,len=strs.length;i<len;i++){ System.out.println(strs[i].toString()); }
運行結果
hello
name
12345
6789
到此這篇關於Java中實現String字符串分割的3種方法的文章就介紹到這瞭,更多相關java string字符串分割內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java使用substring()截取(提取)子字符串
- 一篇文章看懂Java字符串操作
- 一文帶你初識java中的String類
- 一文帶你認識java中的String類
- java中如何截取字符串最後一位