Java:String.split()特殊字符处理操作
一:需要特殊处理才能使用split()方法的字符
(1)需要使用"\\"或"[]"才能正确使用的字符集:
()[]{\?*+.^$|
(2)栗子:
Stringstr="a0^33$\\53\6|!?3#6&5/*6~9MY{.3+-/}*(]6[>=<-(8"; //这里以"("为例 Stringstr_sub1=str.split("\\(")[0]; Stringstr_sub2=str.split("[(]")[0];
二:如不处理直接使用可能会出错的情况
(1)"|"和"/*"会把字符串截取成单个字符数组来返回
(2)"^"和"$"则会取整个字符串来返回
三:"\"的使用
(1)能取到的字符串一般不会出现单独的\当出现\\可以使用split("\\\\")来解析
补充知识:空字符串在String.split中的坑
当使用String的时候,总是用String!=null&&String.length()>0同时出现用作判断条件,今天就掉这个坑了。
这种条件限制是保证字符串有值并且非空,很多情况下空字符串不是我们想要的结果,会出问题。
比如
Strings=",1,2,3,4,,,,";
s.split(”,“);
则输出:空字符,1,2,3,4。此时第一个空字符很容易被忽略掉,导致exception.
以上这篇Java:String.split()特殊字符处理操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。