Java—提取字符串中指定的字符(取井号间的字符)
一、内容介绍:
有一字符串,格式为:“**#detailOne#detailTwo#detailThree#”,现需要将“#”间的内容1、内容2和内容3分别提取出来,赋给detailOne、detailTwo和detailThree,其中内容1、内容2和内容3均可能为空(如:内容1为空,则字符串为:“##detailTwo#detailThree#”),且内容长度不确定**。
二、思路:
字符串“#内容1#内容2#内容3#”,先去掉字符串两侧的井号,然后再按井号分隔。
三、实现代码
privatestaticfinal String Jinghao_SEPERATOR ="#";public List separatedByJinghao(String str){
List result =newArrayList(3);// 预处理,去掉字段中的第一个井号和最后一个井号
String tempStr = str.substring(str.indexOf(Jinghao_SEPERATOR)+1,
str.lastIndexOf(Jinghao_SEPERATOR));int firstJinghao = tempStr.indexOf(Jinghao_SEPERATOR);int lastJinghao = tempStr.lastIndexOf(Jinghao_SEPERATOR);// 分离出的内容1
String detailOne = null;if(firstJinghao ==0|| tempStr.substring(0, firstJinghao).equals("0")){
detailOne ="";}else{
detailOne = tempStr.substring(0, firstJinghao);}// 分离出的内容2和内容3
String detailTwo = tempStr.substring(firstJinghao +1, lastJinghao);
String detailThree = tempStr.substring(lastJinghao +1);
result.add(detailOne);
result.add(detailTwo);
result.add(detailThree);return result;}
四、总结
由于有的内容可能为“”,目前想到这种最直接粗暴的方法,应该还有更好的方法,想到会修改补充到上面。
希望有更好的方法可以分享给我…一起讨论…
版权归原作者 VieneLau 所有, 如有侵权,请联系我们删除。