为什么我用split方法是会出这样的错误:

Stringstr=“a1_a(1)”;str.split("_");/*-------------------这个不会出错的----------------------... String str=“a1_a(1)”;
str.split("_"); /*-------------------这个不会出错的
--------------------------------------------------------------------------------------------**/

String str1="a1+a2"
str1.split("+");//----这个时候会报错
相当不理解:为什么我按“-”或其他符号分开字符串都没事,就是按加号分开是会报错呢!!
展开
 我来答
蒜头18
2012-04-28 · 超过11用户采纳过TA的回答
知道答主
回答量:37
采纳率:100%
帮助的人:26.6万
展开全部
String str = "1+1";
String[] str1 = str.split("\\+");
for(int i = 0;i<str1.length;i++){
System.err.println(str1[i]);
}
显示:
1
1
因为“+”属于特殊字符,需要转换下。
追问
thanks
YugOppop6QSJ0
2012-04-28 · TA获得超过425个赞
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:209万
展开全部
.?*+!^$[]()\在正则里需要转义 转义需双反斜线
.splt("\\+");
追问
我先试试啊!恩恩 谢谢你
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
山楂小子
2012-04-28 · TA获得超过192个赞
知道小有建树答主
回答量:240
采纳率:0%
帮助的人:228万
展开全部
split参数里面放的是正则表达式,而“+”是正则的关键字啊,所以不行
追问
thanks!“split参数里面放的是正则表达式” good! 又学了一点 呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-04-28
展开全部
要转义~~ \\+
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式