StringTokenizer的学习(1)

StringTokenizer的学习(1)

在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);
    
       
     
  }



}

你可能感兴趣的:(StringTokenizer的学习(1))