

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
