JAVA字符串分割,两个分隔符的,怎么实现?

publicclassTest{publicstaticvoidmain(Stringargs[]){Strings1="abc,de.f,gAB,CDE,FGH";St... public class Test {
public static void main(String args[]){
String s1="abc,de.f,gAB,CDE,FGH";
String str1[]=s1.split(",|.");
for(int i=0;i<str1.length;i++){
System.out.println(str1[i]);
}
展开
 我来答
Jseven_jy
推荐于2017-11-24 · TA获得超过8122个赞
知道大有可为答主
回答量:2499
采纳率:100%
帮助的人:1131万
展开全部
s1.split(",|.");
正则表达式实现的。。。|表示或者。。。。
,|. 就是按逗号和点来分隔。。。。

另外,要用\\.来表示点。。。因为点在正则里面有特殊的含义。。表示任意一个字符。。。

希望对你有帮助。。。。仍有问题可以HI我。。。
9796a27h8i
2011-03-02 · TA获得超过1986个赞
知道小有建树答主
回答量:717
采纳率:50%
帮助的人:527万
展开全部
|在java正则表达式就是一个特殊字符。
\在Java字符串是特殊字符。
所以\|是不能表达普通字符|在split()方法的。
只能转义2次
-----------------------------------
相信楼上2位连Java正则表达式 这个术语都没听说过吧!那String.split()方法的参数你们不懂也就不为奇了!

-----------------------------------》

\ 在Java中专门用来转义字符用的(务必牢记:\的作用是把紧跟其后一个字符转义)
编辑器识别的标准转义字符:
\b \t \n \f \r \" \' \\

非标准转义字符的场合,需要使用 \\ 来辅助转义

其实,LZ采用分割符为"|",这种用法是大忌啊
String.split方法,采用的是Java的正则表达式来分割字符串(参见javadoc)
因此慎用特殊字符啊

String.split方法(以及其它类似的需要使用正则表达式的场合)
常见的需要回避“找抽”的字符有: , \ | ^ * + ? ( ) { } [ ] 等等
如果实在想用的话,在split之类需要正则表达式的地方,必须采用转义:
\\\\ = 转义后的 \ (可用在split中) (这个最无耻)
\\. = 转义后的 . (可用在split中)
\\, = 转义后的 , (可用在split中)
\\| = 转义后的 | (可用在split中)
\\^ = 转义后的 ^ (可用在split中)
\\* = 转义后的 * (可用在split中)
......................................

参考资料: 百度一下

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingFish211
2011-03-02 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
你的正则表达式写错了,应该是[,\\.],这样就可以了
public class Test {
public static void main(String args[]) {
String s1 = "abc,de.f,gAB,CDE,FGH";

String str1[] = s1.split("[,\\.]");
for (int i = 0; i < str1.length; i++) {
System.out.println(str1[i]);
}
}
}
----------
abc
de
f
gAB
CDE
FGH
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2db42698c
2011-03-03 · 超过10用户采纳过TA的回答
知道答主
回答量:17
采纳率:0%
帮助的人:13.7万
展开全部
代码修改如下:
public class Test {
public static void main(String args[]){
String s1="abc,de.f,gAB,CDE,FGH";
String str1[]=s1.split(",|\\.");
for(int i=0;i<str1.length;i++){
System.out.println(str1[i]);
}
}
}
注意:
| 表示或者
.要用 \\. 来表示点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangtk1982
2011-03-02 · TA获得超过3742个赞
知道大有可为答主
回答量:3206
采纳率:100%
帮助的人:1449万
展开全部
s1.replace(",",".")
然后
s1.split(".");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式