string中split方法使用
string的split()方法用于按传入的字符或字符串对string进行拆分,返回拆分之后的数组。
1、一般用法
用一般的字符,例如@或,等符号做分隔符时:
String address="上海@上海市@闵行区@吴中路";
String[] splitAddr=address.split("@");
System.out.println(splitAddr [0]+splitAddr [1]+splitAddr [2]+splitAddr [3]);2、需要转义的分隔符
当使用* ^ : | . 等6个符号做分隔符时,上述6个符号转义字符,必须得加"\",即split(“\^”)等。第二个“”是用来给这6种符号转义,第一个“”是用来给第二个“”转义。
String address="上海*上海市*闵行区*吴中路";
String[] splitAddr=address.split("\*");
System.out.println(splitAddr[0]+splitAddr[1]+splitAddr[2]+splitAddr[3]);其中有个更特殊的,就是“”。如果字符串中想要使用"",就应该使用"\"进行转义。也就是说,对于"a",应该写成"a\b",而如果想要用split方法针对""进行拆分,应该使用"a\b".split("\\")。
3、多个符号作为分隔符
可以用“|”字符作为连字符,把多个分隔符分隔的内容都区分开:
立即学习“Java免费学习笔记(深入)”;
String address="上海^上海市@闵行区#吴中路";
String[] splitAddr=address.split("\^|@|#");
System.out.println(splitAddr[0]+splitAddr[1]+splitAddr[2]+splitAddr[3]);4、空值的存储
如果split(String s)函数产生了空值,那么不会存到数组中。可以通过使用它的重载函数split(";",-1)实现空值的保存。这里的“;”只是作为分隔符的一个例子。
String.split()需要的转义字符
注意“/”和“-”,"&"不是转义字符。
String str="aaaa/aaaa/aaaa";
String[] strings=str.split("/");
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}String str="aaaa-aaaa-aaaa";
String[] strings=str.split("-");
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}String str="aaaa&aaaa&aaaa";
String[] strings=str.split("&");
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}转义字符
|
$
*
+
盛世企业网站管理系统1.1.2下载免费 盛世企业网站管理系统(SnSee)系统完全免费使用,无任何功能模块使用限制,在使用过程中如遇到相关问题可以去官方论坛参与讨论。开源 系统Web代码完全开源,在您使用过程中可以根据自已实际情况加以调整或修改,完全可以满足您的需求。强大且灵活 独创的多语言功能,可以直接在后台自由设定语言版本,其语言版本不限数量,可根据自已需要进行任意设置;系统各模块可在后台自由设置及开启;强大且适用的后台管理支
.
?
^
(
)
[
]
{
}
String str="aaaa|aaaa|aaaa";
String[] strings=str.split("\|");
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}String str="aaaa\aaaa\aaaa";
String[] strings=str.split("\\");
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}String str="aaaa$aaaa$aaaa";
String[] strings=str.split("\$");
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}String str="aaaa*aaaa*aaaa";
String[] strings=str.split("\*");
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}String str="aaaa+aaaa+aaaa";
String[] strings=str.split("\+");
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}String str="aaaa.aaaa.aaaa";
String[] strings=str.split("\.");
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}String str="aaaa?aaaa?aaaa";
String[] strings=str.split("\?");
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}String str="aaaa^aaaa^aaaa";
String[] strings=str.split("\^");
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}String str="aaaa(aaaa(aaaa";
String[] strings=str.split("\(");
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}所有的括号都是转义字符。










