隨筆-144  評(píng)論-80  文章-1  trackbacks-0

          在java中處理帶分隔符數(shù)據(jù)的方式是,提供了一個(gè)系統(tǒng)類(lèi)java.util.StringTokenizer來(lái)進(jìn)行處理。例如 StringTokenizer(String  content,String  delim)將在字符串content的基礎(chǔ)上創(chuàng)建一個(gè)StringTokenizer對(duì)象,并用delim來(lái)作為新的分隔符,如果省略delim,則以系統(tǒng)缺省的分隔符來(lái)作為原來(lái)各分隔符的替代。

          實(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書(shū)籍手冊(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 小力力力 閱讀(938) 評(píng)論(1)  編輯  收藏 所屬分類(lèi): JAVA

          評(píng)論:
          # re: StringTokenizer的學(xué)習(xí)(1) 2013-10-22 23:35 | Sevenok
          能不能用這個(gè)方法替代字母,比如把to children變成too children  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 合山市| 马关县| 静宁县| 上林县| 临海市| 宜良县| 巴彦县| 湘乡市| 榆中县| 石泉县| 和田市| 海安县| 闽侯县| 蓬莱市| 温州市| 揭东县| 信宜市| 北碚区| 休宁县| 正蓝旗| 四子王旗| 微山县| 鄂伦春自治旗| 措美县| 东阿县| 隆林| 石门县| 江源县| 武宣县| 霍林郭勒市| 岚皋县| 于都县| 织金县| 乌拉特后旗| 隆昌县| 留坝县| 湘西| 青龙| 广平县| 大石桥市| 新郑市|