Cyh的博客

          Email:kissyan4916@163.com
          posts - 26, comments - 19, trackbacks - 0, articles - 220

          使用StringTokenizer

          Posted on 2009-12-11 23:39 啥都寫點 閱讀(560) 評論(0)  編輯  收藏 所屬分類: J2SE
            StringTokenizer類的使用,使用它可以把字符串分解成多個標(biāo)記,和String的split方法功能相似。

            構(gòu)造一個StringTokenizer對象時,需要制定三個參數(shù):待分解的字符串、分解時用的分隔符(單個字符或者是字符串)、是否把分隔符當(dāng)做標(biāo)記(默認(rèn)為false)。
            StringTokenizer 的 hasMoreTokens方法判斷字符串中是否還有更多的可用標(biāo)記。
            StringTokenizer 的  nextToken方法返回下一個標(biāo)記。

          /**------------------------------------UsingStringTokenizer.java----------------------------------------*/

          /**
           * StringTokenizer主要用來根據(jù)分隔符來分割字符串。
           
          */

          public class UsingStringTokenizer {

              
          /**默認(rèn)分隔符*/
              
          public final static String DELIM = ",";
              
              
          public static String[] process(String line){
                  
          return process(line, DELIM, false);
              }


              
          public static String[] process(String line, String delim){
                  
          return process(line, delim, false);
              }

              
          /**
               * 用StringTokenizer分割字符串
               * 
          @param line    待分割的字符串
               * 
          @param delim    分割符
               * 
          @param returnDelims    是否返回分隔符,默認(rèn)為false。
               * 
          @param maxfields 分割后的最大的段數(shù)
               * 
          @return        被分割后的字符串?dāng)?shù)組
               
          */

              
          public static String[] process(String line, String delim, boolean returnDelims) {

                  List results 
          = new ArrayList();
                  
          //新建一個StringTokenizer對象
                  StringTokenizer st = new StringTokenizer(line, delim, returnDelims);
                  
          //循環(huán),如果字符串中還有分隔符,則繼續(xù)
                  while (st.hasMoreTokens()) {
                      
          //取上一個分隔符到下一個分隔符之間的字符串
                      String s = st.nextToken();
                      
          //將中間的字符串添加到結(jié)果列表中
                      results.add(s);
                  }

                  
          return (String[])results.toArray(new String[0]);
              }

              
          /**
               * 輸出分割結(jié)果
               * 
          @param input
               * 
          @param outputs
               
          */

              
          public static void printResults(String input, String[] outputs) {
                  System.out.println(
          "Input: " + input);
                  
          for (int i = 0; i < outputs.length; i++){
                      System.out.println(
          "Output " + i + " was: " + outputs[i]);
                  }

              }


              
          public static void main(String[] a) {
                  printResults(
          "A|B|C|D", process("A|B|C|D""|"));
                  printResults(
          "A||C|D", process("A||C|D""|"true));
                  printResults(
          "A|||D|E", process("A|||D|E""|"false));
                  printResults(
          "A;bD;|E;FG", process("A;bD;|E;FG"";"));
                  printResults(
          "A;bD;|E;FG;dfxxf;ert", process("A;bD;|E;FG;dfxxf;ert"";"false));
              }

          }



                                                                                                                 --    學(xué)海無涯
                  

          主站蜘蛛池模板: 临城县| 子长县| 陇西县| 灵石县| 荥阳市| 汶上县| 裕民县| 沾化县| 磐石市| 大足县| 五寨县| 衡南县| 兴城市| 个旧市| 德清县| 富宁县| 麦盖提县| 汶上县| 涡阳县| 河南省| 孙吴县| 常州市| 资溪县| 江安县| 丰都县| 株洲市| 桃江县| 盱眙县| 马公市| 浑源县| 贵阳市| 牙克石市| 成武县| 文化| 云安县| 宣武区| 广丰县| 康马县| 方山县| 垦利县| 新泰市|