欢迎来到天天文库
浏览记录
ID:13476933
大小:33.50 KB
页数:3页
时间:2018-07-22
《split方法分隔字符串》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、小心为妙——split可以分隔所有字符串在java中程序员常使用split()方法分隔字符串,但是如果需要分隔的字符串中含有一些特殊的字符就有可能达不到预期的效果,例如字符串中含有“+”,“*”等字符。例如下面代码:publicclassTest{publicstaticvoidmain(String[]args){Stringstr="1+2+3+4";String[]test=str.split("+");for(Stringstring:test){System.out.println(string);}}}运行结果如下:
2、Exceptioninthread"main"java.util.regex.PatternSyntaxException:Danglingmetacharacter'+'nearindex0+^atjava.util.regex.Pattern.error(Pattern.java:1713)atjava.util.regex.Pattern.sequence(Pattern.java:1878)atjava.util.regex.Pattern.expr(Pattern.java:1752)atjava.util.regex
3、.Pattern.compile(Pattern.java:1460)atjava.util.regex.Pattern.(Pattern.java:1133)atjava.util.regex.Pattern.compile(Pattern.java:823)atjava.lang.String.split(String.java:2293)atjava.lang.String.split(String.java:2335)attest.Test.main(Test.java:6)从上面的信息可以知道,如果字符串中
4、包含特殊字符,程序无法正常运行,如何解决呢?首先理解一下split()方法的具体使用说明。publicString[]split(Stringregex)【说明:】参数regex是一个regular-expression的匹配模式而不是一个简单的String。显然,“+”不是有效的模式匹配规则表达式,可以用”\+”转义得到正确地结果。例如下面的代码:publicclassTest{publicstaticvoidmain(String[]args){Stringstr="1+2+3+4";String[]test=str.sp
5、lit("\+");for(Stringstring:test){System.out.println(string);}}}上述代码运行的结果如下:1234
此文档下载收益归作者所有