今天偶然用到对字符串的分割处理
目标字符串如下
String infoURL = "http://192.168.1.191/fund.html|20";
然后很自然的就想起了分隔符需要转义然后就写了以下几行测试
if (infoURL.indexOf("\\|") != -1) {
webviewURL = infoURL.split("\\|")[0];
timers = Integer.parseInt(infoURL.split("\\|")[1]);
} else {
webviewURL = infoURL;
timers = 20;
}
然后发现
infoURL.indexOf("\\|") //返回值为-1
这时候就想到会不会是indexOf("")中不需要转义,
if (infoURL.indexOf("|") != -1) {
webviewURL = infoURL.split("\\|")[0];
timers = Integer.parseInt(infoURL.split("\\|")[1]);
} else {
webviewURL = infoURL;
timers = 10;
}
如此便可以正常的将字符串解析为
webviewURL:http://192.168.1.191/fund.html
timers : 20
但是如果将split("\\|")中的转义也去掉则会无法按照规则解析
这不是什么大问题可是搞不清楚也很麻烦,所以总结一下帮助以后使用