关于String.split()的问题

kangshu 2003-07-03 09:39:01
public class Untitled1 {
public static void main(String[] args) {
String aa = "123|-|abc|-|edf|-|ghi|-|432|-|dfa";
String[] a = aa.split("|-|");
int i;
for(i=0;i<a.length;i++)
System.out.println(a[i]);
}
}
为什么它的结果是
1
2
3
|
-
|
a
b
c
|
-
|
e
d
f
|
-
|
g
h
i
|
-
|
4
3
2
|
-
|
d
f
a
而不是
123
abc
edf
ghi
432
dfa


...全文
31 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
javabandit 2003-07-03
  • 打赏
  • 举报
回复
用StringTokenizer可以,用jdk1.4中的splict也可以,只是splict的参数是一个正则表达式,所以需要转定义才行。
cno 2003-07-03
  • 打赏
  • 举报
回复
我也不清楚,用StringTokenizer 吧
String aa = "123|-|abc|-|edf|-|ghi|-|432|-|dfa";
StringTokenizer strtoRecord = null;
strtoRecord = new StringTokenizer(aa,"|-|");
while (strtoRecord.hasMoreTokens())
{
System.out.println(strtoRecord.nextToken());
}
wolfsquare 2003-07-03
  • 打赏
  • 举报
回复
要转义...

String str = "123|-|abc|-|edf|-|ghi|-|432|-|dfa";
String[] strs = str.split("\\|-\\|");
titaninwinter 2003-07-03
  • 打赏
  • 举报
回复
没这么简单,涉及到正则表达式的,帮你up一下
liwon 2003-07-03
  • 打赏
  • 举报
回复
强烈关注ing

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧