java分割字符串多種方法(附例子)
更新時間:2023年10月31日 11:59:58 作者:挽安
這篇文章主要給大家介紹了關(guān)于java分割字符串多種方法的相關(guān)資料,Java中有多種方法可以實(shí)現(xiàn)字符串分割,文中將每張方法都給出了代碼示例,需要的朋友可以參考下
1、String#split
可以根據(jù)給定的分隔符或正則表達(dá)式將一個字符串分割成多個部分
// 使用正則表達(dá)式 "(?<=\\G.{" + n + "})"來分割字符串,其中表達(dá)式中的 n 表示字符的長度。
public static List<String> usingSplitMethod(String text, int n) {
String[] results = text.split("(?<=\\G.{" + n + "})");
return Arrays.asList(results);
}2、String#substring
一般情況我們都是用于截取字符串使用的,這里我們也是可以用來處理字符串的分割,只要循環(huán)就行
public static List<String> usingSubstringMethod(String text, int n) {
List<String> results = new ArrayList<>();
int length = text.length();
for (int i = 0; i < length; i += n) {
results.add(text.substring(i, Math.min(length, i + n)));
}
return results;
}3、Pattern類
Pattern 類通常來說,我們是用于處理正則表達(dá)式,做一些match使用,正如第一種 String#split 方法所見,正則表達(dá)式也可以用于分割字符串
// 我們使用 .{1,n}構(gòu)建了一個 Pattern 對象,它能個匹配 1 到 n 個字符
public static List<String> usingPattern(String text, int n) {
return Pattern.compile(".{1," + n + "}")
.matcher(text)
.results()
.map(MatchResult::group)
.collect(Collectors.toList());
}4、Guava類
以上三種方法是Jdk 中的 API,Guava 是第三方依賴包所提供的
Guava 通過 Splitter 類可以很簡單的針對我們的這個使用場景,進(jìn)行字符串分割。這個 fixedLength() 方法為后續(xù)的分割提供了固定的分割長度。
public static List<String> usingGuava(String text, int n) {
Iterable<String> parts = Splitter.fixedLength(n).split(text);
return ImmutableList.copyOf(parts);
}附:Java 字符串分割和拼接用逗號分開
String str="1278,1289,1286";
String [] strArr=str.split(",");
String urlRequest="";
for(int i=0;i<strArr.length;i++) {
String url="http://localhost:8080/demo/test?fileID=canshu";
System.out.println("輸出結(jié)果"+strArr[i]);
url=url.replace("canshu", strArr[i]);
System.out.println(url);
urlRequest+=url+",";
}
System.out.println(urlRequest);總結(jié)
到此這篇關(guān)于java分割字符串多種方法的文章就介紹到這了,更多相關(guān)java分割字符串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mybatis-Plus讀寫Mysql的Json字段的操作代碼
這篇文章主要介紹了Mybatis-Plus讀寫Mysql的Json字段的操作代碼,文中通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04
Java 中的Function.identity()實(shí)現(xiàn)原理解析
Function.identity()是Java 8 引入的一個靜態(tài)方法,屬于 java.util.function.Function 函數(shù)式接口,這篇文章主要介紹了Java 中的Function.identity()實(shí)現(xiàn)原理,需要的朋友可以參考下2025-08-08
Java Swing JCheckBox復(fù)選框的實(shí)現(xiàn)方法
這篇文章主要介紹了Java Swing JCheckBox復(fù)選框的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
idea2023創(chuàng)建JavaWeb教程之右鍵沒有Servlet的問題解決
最近在寫一個javaweb項(xiàng)目,但是在IDEA中創(chuàng)建好項(xiàng)目后,在搭建結(jié)構(gòu)的時候創(chuàng)建servlet文件去沒有選項(xiàng),所以這里給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于idea2023創(chuàng)建JavaWeb教程之右鍵沒有Servlet問題的解決方法,需要的朋友可以參考下2023-10-10
Spring Boot 配置和使用多線程池的實(shí)現(xiàn)
這篇文章主要介紹了Spring Boot 配置和使用多線程池的實(shí)現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06

