String的split问题~~

ogiso_pest 2010-02-11 12:12:24
import java.io.*;

public class MyTest {
public static void main(String args[]){
String s = "12+45+33+5+89";

String[] ss=s.split("+");
int sum=0;
for(int i=0;i<ss.length;i++)
sum+=Integer.parseInt(ss[i]);
System.out.println(s+"="+sum);
}

}


出现错误
Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 0
+
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.lang.String.split(Unknown Source)
at java.lang.String.split(Unknown Source)
at MyTest.main(MyTest.java:6)

谢谢大家帮忙解决
...全文
156 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxf354 2010-08-06
  • 打赏
  • 举报
回复
\\+要转义
acRush7 2010-02-17
  • 打赏
  • 举报
回复
+在正则表达式里的特殊含义是什么,没有找到。

引用 1 楼 knightzhuwei 的回复:
split的参数本质上是个正则表达式 +在正则表达式中有特殊含义 不能单独使用 要用'\+'转义
knightzhuwei 2010-02-11
  • 打赏
  • 举报
回复
额 在正则表达式中是\+ 写成字符串就要变成\\+ 应该是这样的

public class MyTest {
public static void main(String args[]){
String s = "12+45+33+5+89";

String[] ss=s.split("\\+");
int sum=0;
for(int i=0;i<ss.length;i++)
sum+=Integer.parseInt(ss[i]);
System.out.println(s+"="+sum);
}
}
knightzhuwei 2010-02-11
  • 打赏
  • 举报
回复
split的参数本质上是个正则表达式 +在正则表达式中有特殊含义 不能单独使用 要用'\+'转义

62,633

社区成员

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

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