java分割字符串多种方法(附例子)
作者:挽安
这篇文章主要给大家介绍了关于java分割字符串多种方法的相关资料,Java中有多种方法可以实现字符串分割,文中将每张方法都给出了代码示例,需要的朋友可以参考下
1、String#split
可以根据给定的分隔符或正则表达式将一个字符串分割成多个部分
// 使用正则表达式 "(?<=\\G.{" + n + "})"来分割字符串,其中表达式中的 n 表示字符的长度。 public static List<String> usingSplitMethod(String text, int n) { String[] results = text.split("(?<=\\G.{" + n + "})"); return Arrays.asList(results); }
2、String#substring
一般情况我们都是用于截取字符串使用的,这里我们也是可以用来处理字符串的分割,只要循环就行
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 类通常来说,我们是用于处理正则表达式,做一些match使用,正如第一种 String#split 方法所见,正则表达式也可以用于分割字符串
// 我们使用 .{1,n}构建了一个 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 类可以很简单的针对我们的这个使用场景,进行字符串分割。这个 fixedLength() 方法为后续的分割提供了固定的分割长度。
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("输出结果"+strArr[i]); url=url.replace("canshu", strArr[i]); System.out.println(url); urlRequest+=url+","; } System.out.println(urlRequest);
总结
到此这篇关于java分割字符串多种方法的文章就介绍到这了,更多相关java分割字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!