在java中處理帶分隔符數(shù)據(jù)的方式是,提供了一個(gè)系統(tǒng)類java.util.StringTokenizer來進(jìn)行處理。例如 StringTokenizer(String content,String delim)將在字符串content的基礎(chǔ)上創(chuàng)建一個(gè)StringTokenizer對(duì)象,并用delim來作為新的分隔符,如果省略delim,則以系統(tǒng)缺省的分隔符來作為原來各分隔符的替代。
實(shí)際上還有第三個(gè)參數(shù),true/false,如果為true則返回值還包含分隔符本身。可以加以省略。
StringTokenizer的構(gòu)造函數(shù):
StringTokenizer(String str)
StringTokenizer(String str,String delimiters)
StringTokenizer(String str,String delimiters,boolean delimiAsToken)
關(guān)于Token的另一些方法,如public String nextToken(), public bolean hasMoreTokens(), public int countTokens()等,請(qǐng)參考有關(guān)java書籍手冊(cè)。
一個(gè)例子:
實(shí)現(xiàn)把一個(gè)特殊結(jié)構(gòu)的字符串轉(zhuǎn)變成字符串?dāng)?shù)組
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
小力力力 閱讀(934)
評(píng)論(1) 編輯 收藏 所屬分類:
JAVA