public class ComFuns {
/**
* 将特殊字符分隔的字符串分解为数组,如"1^2233^23^22"或者"1^2233^23^22^"
* @param val 源字符串
* @param c_b 特殊字符
* @return 转换后的字符串数组
*/
public static String[] strToArray(String strSource,String strSpecial) {
/* StringTokenizer list = new StringTokenizer(val,c_b);
String[] reqs;
reqs = new String [list.countTokens()];
int i = 0;
while (list.hasMoreTokens()) {
reqs [i++] = (String) list.nextToken();
}
return reqs;*/ int iLastIndex = strSource.lastIndexOf(strSpecial) ;
if (iLastIndex != (strSource.length() -strSpecial.length() ) )
strSource = strSource +strSpecial; String[] ReturnArray;
int Counter=0;
int StartPos=0,EndPos=0; StartPos = strSource.indexOf(strSpecial);
while (StartPos != -1)
{
Counter++;
StartPos = strSource.indexOf(strSpecial,StartPos+1);
} if (Counter == 0)
{
return null;
}
else
{ ReturnArray = new String[Counter];
StartPos = 0;
EndPos = strSource.indexOf(strSpecial);
Counter = 0; while (EndPos != -1)
{
ReturnArray[Counter] = strSource.substring(StartPos,EndPos);
Counter++;
StartPos = EndPos + strSpecial.length();
EndPos = strSource.indexOf(strSpecial,StartPos);
}
} return ReturnArray;
}
/**
* 将特殊字符分隔的字符串分解为数组,如"1^2233^23^22"或者"1^2233^23^22^"
* @param val 源字符串
* @param c_b 特殊字符
* @return 转换后的字符串数组
*/
public static String[] strToArray(String strSource,String strSpecial) {
/* StringTokenizer list = new StringTokenizer(val,c_b);
String[] reqs;
reqs = new String [list.countTokens()];
int i = 0;
while (list.hasMoreTokens()) {
reqs [i++] = (String) list.nextToken();
}
return reqs;*/ int iLastIndex = strSource.lastIndexOf(strSpecial) ;
if (iLastIndex != (strSource.length() -strSpecial.length() ) )
strSource = strSource +strSpecial; String[] ReturnArray;
int Counter=0;
int StartPos=0,EndPos=0; StartPos = strSource.indexOf(strSpecial);
while (StartPos != -1)
{
Counter++;
StartPos = strSource.indexOf(strSpecial,StartPos+1);
} if (Counter == 0)
{
return null;
}
else
{ ReturnArray = new String[Counter];
StartPos = 0;
EndPos = strSource.indexOf(strSpecial);
Counter = 0; while (EndPos != -1)
{
ReturnArray[Counter] = strSource.substring(StartPos,EndPos);
Counter++;
StartPos = EndPos + strSpecial.length();
EndPos = strSource.indexOf(strSpecial,StartPos);
}
} return ReturnArray;
}
假入strParam为如"1^2233^23^22"或者"1^2233^23^22^"
String[] paramArray = ComFuns.strToArray(strParam,"^") ;
String b="123,456,789,"
a=b.split(",");得到结果:a[0]="123",a[1]="456",a[2]="789"
split要在jdk1.4下才有.
jmars(jmouse) :StringTokenizer是在java.util.后面的那一个包里,有完整的例子吗?我也会给分的!
String[] reqs;
reqs = new String [list.countTokens()];
int i = 0;
while (list.hasMoreTokens()) {
reqs [i++] = (String) list.nextToken();
}
return reqs;*/
这段话屏蔽掉了,要看清楚哦
这句好像有点问题:tomcat提示认为paramArray 没有初始化。具体提示如下:
cannot resolve symbol
symbol : variable paramArray
<html>
<head>
</head>
<body>
<%
String str1="11^22^33";
String[] paramArray = ComFuns.strToArray(str1,"^") ;
int i;
for(i=0;i<paramArray.length;i++)
out.println(paramArray[i]);
%>
</body>
</html>