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方法不会改变原字符串。它返回的是一个新的字符串数组
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。