在java中處理帶分隔符數據的方式是,提供了一個系統類java.util.StringTokenizer來進行處理。例如 StringTokenizer(String content,String delim)將在字符串content的基礎上創建一個StringTokenizer對象,并用delim來作為新的分隔符,如果省略delim,則以系統缺省的分隔符來作為原來各分隔符的替代。
實際上還有第三個參數,true/false,如果為true則返回值還包含分隔符本身。可以加以省略。
StringTokenizer的構造函數:
StringTokenizer(String str)
StringTokenizer(String str,String delimiters)
StringTokenizer(String str,String delimiters,boolean delimiAsToken)
關于Token的另一些方法,如public String nextToken(), public bolean hasMoreTokens(), public int countTokens()等,請參考有關java書籍手冊。
一個例子:
實現把一個特殊結構的字符串轉變成字符串數組
public class CCStrTools


{
public static String[] str2Array(String str, String separator)

{
if (str == null || separator == null || (str.trim()).length() == 0)
return null;

if (str.substring(str.length() - separator.length(),
str.length()).equals(separator))
str = str.substring(0, str.length() - separator.length());
//if(str.charAt(str.length()-1)==',')
//str=str.substring(0,str.length()-1);

StringTokenizer token = new StringTokenizer(str, separator);
String[] array = new String[token.countTokens()];

int i = 0;

while (token.hasMoreTokens())

{
array[i] = token.nextToken(separator);
i++;
}

return array;
}


public static void main(String []args)

{
String s3 ="3@4@5@6@7@";
String w1[] =CCStrTools.str2Array(s3,"@");
for(int i=0;i<w1.length;i++)

{
System.out.println(w1[i]);
}
// System.out.println(w1.length);
}


}
posted on 2005-03-25 11:29
小力力力 閱讀(938)
評論(1) 編輯 收藏 所屬分類:
JAVA