/**将一串以空格分隔并以空格结尾的字符串转换为字符串数
*@param s 以空格分隔并以空格结尾的字符串
*@return String[] 字符串数组 */
private String[] StringToArray(String s) {
String[] strs = new String[StringCount(s,' ')];
String tmp = s;
for (int i = 0; i < strs.length; i++) {
strs[i] = tmp.substring(0, tmp.indexOf(" "));
tmp = tmp.substring(tmp.indexOf(" ") + 1);
}
return strs;
}
/** 统计以空格分隔并以空格结尾的字符串转换为字符串数组中的字段个数
*@param s 以空格分隔并以空格结尾的字符串
*@param cut 分割字符标记
*@return int 字段个数 */
private int StringCount(String s,char cut) {
int j = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == cut)
j++;
}
return j;
}
/**替换空格分割的字符串中第index个子串
*@param str 字符串
*@param index 索引
*@param subString 用来替换的的子串
*@return String 替换后的字符串 */
private String replaceStr(String str, int index, String subString) {
if (index < 61)
return str.substring(0, pos(str, index, ' ')) + " " + subString + str.substring(pos(str, index + 1, ' '), str.length());
else
return str.substring(0, pos(str, index, ' ')) + " " + subString;
}
/**返回某字符串中,第index个cut实际所在的实际位置
*@param str 源字符串
*@param index 分割标志所在序号
*@param cut 分割字符
*@return int 位置 */
private int pos(String str, int index, char cut) {
int i = 0, j = -1, tmp = -1;
while (i < str.length()) {
i = str.indexOf(cut, i + 1);
tmp = i;
if (i != -1) j++;
else break;
if (j == index)break;
}
return tmp;
}
转载于:https://www.cnblogs.com/liukun966123/archive/2004/06/15/15961.html