java

位置:IT落伍者 >> java >> 浏览文章

Java split方法拆分使用竖线为分隔符的字符串


发布日期:2019年01月07日
 
Java split方法拆分使用竖线为分隔符的字符串

在使用Stringsplit方法分隔字符串时分隔符如果用到一些特殊字符可能会得不到我们预期的结果

我们经常使用public String[] split(String regex)方法来拆分一个有分隔符的字符串但是由于参数regex是一个 regularexpression的匹配模式而不是一个简单的String所以他对一些特殊的字符可能会出现你预想不到的结果比如测试下面的代码用竖线 | 分隔字符串你将得不到预期的结果

view plaincopy to clipboardprint?

String[] aa = aaa|bbb|cccsplit(|); //得不到预期的结果

//String[] aa = aaa|bbb|cccsplit(\\|); 这样才能得到正确的结果

for (int i = ; i <aalength ; i++ ) {

Systemoutprintln(+aa[i]);

}

//用竖 * 分隔字符串运行将抛出异常用加号 + 也是如此

String[] aa = aaa*bbb*cccsplit(*);

//String[] aa = aaa|bbb|cccsplit(\\*); 这样才能得到正确的结果

for (int i = ; i <aalength ; i++ ) {

Systemoutprintln(+aa[i]);

}

显然+ * 不是有效的模式匹配规则表达式\\* \\+转义后即可得到正确的结果

| 分隔串时虽然能够执行但是却不是预期的目的\\|转义后即可得到正确的结果

还有如果想在串中使用\字符则也需要转义首先要表达aaaa\bbbb这个串就应该用aaaa\\bbbb如果要分隔就应该这样才能得到正确结果

String[] aa = aaa\\bbb\\bcccsplit(\\\\);

               

上一篇:基于SMTP的JAVA邮件发送程序

下一篇:Java:使用synchronized和Lock对象获取对象锁