随笔-144  评论-80  文章-1  trackbacks-0

在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 小力力力 阅读(916) 评论(1)  编辑  收藏 所属分类: JAVA

评论:
# re: StringTokenizer的学习(1) 2013-10-22 23:35 | Sevenok
能不能用这个方法替代字母,比如把to children变成too children  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: