public static String StrSplit(String oristr, String deli, int pos) { /* 用split函数可轻松实现功能 * if (pos<=0) return ""; String [] outstr=oristr.split(deli); if (outstr.length<pos) return ""; else return outstr[pos-1]; */
悲剧出现了。Sybase 12.5只支持Java 1.2.2以下版本的Java包安装。而上述split函数在Java 1.2.2版本中不存在,1.4版才加入。无奈,只得用Java 1.0版就有的StringTokenizer来做:
String outstr = ""; int i = 1; if (pos <= 0) return ""; StringTokenizer st = new StringTokenizer(oristr, deli, false); while (st.hasMoreTokens()) { outstr = st.nextToken(); if (i == pos) return (outstr); i++; } return ""; }
StringTokenizer与String.split的结果有所不同,split返回串更符合一般理解。
如str=”aaabbcccdeee”,deli=”b”
split返回aaa,””,cccdeee,而StringTokenizer只会返回aaa,cccdeee两个串,当然其构造函数有第三个参数指示是否将deli本身返回,但用处不大。
原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/301.html