`

Java转义字符笔记 |

阅读更多
数据库有一个关键字列-keyword,里面存放的关键字格式如下:
aaa|bbb|ccc

当得到了这些关键字的字符串之后 , 要将其通过split分出来。

首先会想到用split("|"),

但是结果发现所有的单字符都被分了出来。

String keyword="aaa|bbb|nihao|";
String[] ks2=keyword.split("|");
 for(String k:ks2){
			 System.out.println(k);
/* 输出结果
 
 a
 a
 a
 |
 b
 ... 
*/
		 }



出现上面结果的原因貌似是|会被jvm当做“或”来处理。
split的参数是正则表达式, 而|会被当做特殊字符来对待。

解决方法是通过转义字符(escape sequence) \ 来转义(escape) |.


代码如下:
 String[] ks=keyword.split("\\|");
		 // "\\"代表反斜杠"\", 而反斜杠将|进行转义。
		 
		 
		 for(String k:ks){
			 System.out.println(k);
		 }

这样就能得到我们想要的结果了。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics