想保留用来分割的符号也如数组
例如 String s = "A[B:C[D]]"
想以':','[',']'作为分隔符,但我想保留这些分隔符,即返回的数组中是
A,[,B,:,C,[,D,],],有办法吗?

解决方案 »

  1.   

    楼主可以试试用StringTokenizer这个类,它有两个构造方法StringTokenizer(String s)它使用默认的分隔符(空格,换行符,回车符,Tab符,进纸符),还有一个是StringTokenizer(String s,String delim)delim是你想指定的分隔符。
    方法有int countTokens() //返回一共有多少个语言符号(单词)
     String nextToken()  //逐个返回以分析的字符串的语言符号
    boolean hasMoreTokens()  //在逐个获取语言符号时判断是否仍有语言符号,有是返回true.
    举个例子
    import java.util.*;
    public class String_Token
    {
    public static void main(String args[])
    {
    String s="we are \n good \t firends";
    StringTokenizer analyzer=new StringTokenizer(s);
    //此句的应用较为关键
    int i=analyzer.countTokens();
    System.out.println(s);
    System.out.println("串中共有"+i+"个字符");
    //while语句块用来提取分析的结果
    while(analyzer.hasMoreTokens())
    {
    String temp=analyzer.nextToken();
    System.out.println(temp);
    }
    }
    }可以得到如下的结果:
    we are 
     good    friend
    串中共有4个字符
    we 
    are 
    good
    fireds
    如果楼主对这个类还有什么不清楚可以看java API.