Java字符串分割Split方法的应用大全
下文笔者讲述java中字符串拆分的方法大全
学习完这篇之后,你将掌握split方法的使用方法,如下所示
学习完这篇之后,你将掌握split方法的使用方法,如下所示
split方法简介
split方法可对字符串进行拆分
split方法String类方法
public String[] split(String regex)
public String[] split(String regex, int limit)
第一个参数regex:
正则表达式
用来匹配待分割的字符串
注意:
正则表达式中不能使用“\”进行转义,而是要用“\\”。
第二个参数limit:
是一个可选参数
指定返回的子字符串的最大数量
若指定为0
则会返回最大长度的子字符串数组,不限定个数。
split方法的基础示例
String str = "hello,java265";
String[] arr = str.split(",");
// 输出结果为 "hello" "java265"
for (String s : arr) {
System.out.println(s);
}
split借助正则表达式分隔字符串
正则表达式语法说明
常见正则表达式示例
:匹配前面一个字符零次或多次。如:“ab*”表示“a”,“ab”,“abb”,“abbb……”
+:匹配前面一个字符一次或多次。如:“ab+”表示“ab”,“abb”,“abbbbb……”,但不匹配“a”
?:匹配前面一个字符零次或一次。如:“ab?”表示“a”和“ab”
.:匹配任何一个字符。如:“a.c”表示“abc”、“adc”等等
[]:表示匹配其中任一字符。如:“[abc]”表示匹配字符a、b或c,而不是匹配字符串“abc”
^:表示匹配字符串的开头
$:表示匹配字符串的结尾
|:表示或者
{n}:表示匹配n次,例如“a{3}”表示匹配“aaa”
注意事项:
1.Java正则表达式默认情况下是贪婪匹配的
即匹配尽可能多的字符
如果需要非贪婪匹配,可在“*”、“+”、“?”后面加上“?”。
2.Java提供一些预设的正则表达式匹配字符
\d:匹配数字
\D:不匹配数字
\w:匹配字母、数字和下划线
\W:不匹配字母、数字和下划线
\s:匹配空格、制表符和换行符
\S:不匹配空格、制表符和换行符
split提取字符串
String url = "http://www.java265.com/path?id=88888&name=Java";
String[] parts = url.split("[?&]");
String id = parts[1].substring(3); // 从下标3开始,截取指定长度的子串
String name = parts[2].substring(5);
字符串分割后,处理空字符串
String[] arr = {"hello", "", "java265", ""};
for (String s : arr) {
if (StringUtils.isBlank(s)) {
continue;
}
// 对非空字符串进行处理
}
匹配“\\r\\n”或“\\n”
String text = "hello\njava265\r\njava";
String[] arr = text.split("\\r?\\n");
// 输出 "hello" "world" "java"
for (String s : arr) {
System.out.println(s);
}
split注意事项
split方法不会改变原字符串。它返回的是一个新的字符串数组
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


