Java的split()函数
程序员文章站
2024-03-23 14:54:46
...
今天用到String的split()函数,调试半天不好使!
1.split()函数,根据给定的正则表达式的匹配来拆分此字符串,但是不能包含正则特殊字符 . |
2.下面是官方的API文档
split
public String[] split(String regex)
- 根据给定的正则表达式的匹配来拆分此字符串。
该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数
split
方法。因此,结果数组中不包括结尾空字符串。例如,字符串 "boo:and:foo" 产生带有下面这些表达式的结果:
Regex 结果 : { "boo", "and", "foo" } o { "b", "", ":and:f" } - 参数:
-
regex
- 定界正则表达式 - 返回:
- 字符串数组,根据给定正则表达式的匹配来拆分此字符串,从而生成此数组。
3.正确应用
String str = ""+"aaa"+":"+"bbb"+"";
String[] test = str.split(":");
System.out.println(test[0]);
System.out.println(test[1]);
String str333 = ""+"aaa"+","+"bbb"+"";
String[] test333 = str333.split(",");
System.out.println(test333[0]);
System.out.println(test333[1]);
String str222 = ""+"aaa"+"|"+"bbb"+"";
String[] test222 = str222.split("\\|");//其中|需要转义
System.out.println(test222[0]);
System.out.println(test222[1]);
String str444 = ""+"aaa"+"."+"bbb"+"";
String[] test444 = str444.split("\\.");//其中.需要转义
System.out.println(test444[0]);
System.out.println(test444[1]);
4.网站搜索内容
.在正则表达式里面是特殊字符,可以查看API Pattern
预定义字符类
. 任何字符(与行结束符可能匹配也可能不匹配)
对于特殊字符,必须用\进行转义,
所以正确的分解为:String s="a.txt";
String a[]=s.split("\\.");-->第一个\是java本身对第二个\得转义,第二个\是对后面的.进行正则转义。
上一篇: 数据结构:带头节点的双向循环链表的操作
下一篇: JAVASE基础