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 循環(huán)
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(fā)”為準。
//截取某個字符串之后的字符
StringUtils.substringAfter("hello world", "l");
//結果是:lo world 這里是以第一個”l”,為標準。
StringUtils.substringAfterLast("hello world", "l");
//結果為:d 這里以最后一個“l(fā)”為準。
//截取兩個字符串之間隔的字符
StringUtils.substringBetween("hello world", "o");
//結果是: w 兩個o之間的字符串。
StringUtils.substringBetween("hello world", "l", "r");
//結果是: lo wo 第一個字符“l(fā)”與第一個字符“r”之間的字符串
StringUtils.substringsBetween("hello world", "l", "r");
//結果是:數組 [lo wo] 第一個字符“l(fā)”與第一個字符“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字符串分割內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring Boot Maven Plugin打包異常解決方案
這篇文章主要介紹了Spring Boot Maven Plugin打包異常解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11
springboot使用JdbcTemplate完成對數據庫的增刪改查功能
這篇文章主要介紹了springboot使用JdbcTemplate完成對數據庫的增刪改查功能,需要的朋友可以參考下2017-12-12
淺談利用Spring的AbstractRoutingDataSource解決多數據源的問題
本篇文章主要介紹了淺談利用Spring的AbstractRoutingDataSource解決多數據源的問題,具有一定的參考價值,有需要的可以了解一下2017-08-08

