yooli88

          java 字符串解析 轉至csdn的afgasdg

          StringTokenizer tokenizer = new StringTokenizer(number, ",");
                 
          boolean bool = true;
                 
          while (tokenizer.hasMoreTokens()) {
                     
          try {
                          Double.valueOf(tokenizer.nextToken());
                      }
          catch (Exception e) {
                          bool
          = false;
                      }
                  }
          //將字符串轉化為數組的方法
          int gv[];
            
          int i = 0;
             StringTokenizer tokenizer
          = new StringTokenizer(goodsVolume, ",, ");
                   gv
          = new int[tokenizer.countTokens()];//動態的決定數組的長度
               while (tokenizer.hasMoreTokens()) {
                  String d
          = tokenizer.nextToken();
                  gv[i]
          = Integer.valueOf(d);//將字符串轉換為整型
                  i++;
              }

          //字符串解析
              private String[] stringAnalytical(String str, String divisionChar) {
                  String string[];
                
          int i = 0;
                  StringTokenizer tokenizer
          = new StringTokenizer(str, divisionChar);
                  string
          = new String[tokenizer.countTokens()];// 動態的決定數組的長度
                   while (tokenizer.hasMoreTokens()) {
                      string[i]
          = new String();
                      string[i]
          = tokenizer.nextToken();
                      i
          ++;
                  }
                 
          return string;// 返回字符串數組
              }

          int countTokens()
                    計算在生成異常之前可以調用此 tokenizer 的 nextToken 方法的次數。
          boolean hasMoreElements()
                    返回與 hasMoreTokens 方法相同的值。
          boolean hasMoreTokens()
                    測試此 tokenizer 的字符串中是否還有更多的可用標記。
          Object nextElement()
                    除了其聲明返回值是 Object 而不是 String 之外,它返回與 nextToken 方法相同的值。
          String nextToken()
                    返回此 string tokenizer 的下一個標記。
          String nextToken(String delim)
                    返回此 string tokenizer 的字符串中的下一個標記。




          public class StringAnalytical {

             
          // 字符串解析,將字符串轉根據分割符換成字符串數組
              private String[] stringAnalytical(String string, char c) {
                 
          int i = 0;
                 
          int count = 0;

                 
          if (string.indexOf(c) == -1)
                     
          return new String[] { string };// 如果不含分割符則返回字符本身
                  char[] cs = string.toCharArray();
                 
          int length = cs.length;
                 
          for (i = 1; i < length - 1; i++) {// 過濾掉第一個和最后一個是分隔符的情況
                      if (cs[i] == c) {
                          count
          ++;// 得到分隔符的個數
                      }
                  }
                  String[] strArray
          = new String[count + 1];
                 
          int k = 0, j = 0;
                  String str
          = string;
                 
          if ((k = str.indexOf(c)) == 0)// 去掉第一個字符是分隔符的情況
                      str = str.substring(k + 1);
                 
          if (str.indexOf(c) == -1)// 檢測是否含分隔符,如果不含則返回字符串
                      return new String[] { str };
                 
          while ((k = str.indexOf(c)) != -1) {// 字符串含分割符的時候
                      strArray[j++] = str.substring(0, k);
                      str
          = str.substring(k + 1);
                     
          if ((k = str.indexOf(c)) == -1 && str.length() > 0)
                          strArray[j
          ++] = str.substring(0);
                  }
                 
          return strArray;
              }

             
          public void printString(String[] s) {
                  System.out.println(
          "*********************************");
                 
          for (String str : s)
                      System.out.println(str);
              }

             
          public static void main(String[] args) {
                  String[] str
          = null;
                  StringAnalytical string
          = new StringAnalytical();
                  str
          = string.stringAnalytical("1aaa", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("2aaa@", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("@3aaa", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("4aaa@bbb", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("@5aaa@bbb", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("6aaa@bbb@", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("@7aaa@", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("@8aaa@bbb@", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("@9aaa@bbb@ccc", '@');
                  string.printString(str);
                  str
          = string.stringAnalytical("@10aaa@bbb@ccc@eee", '@');
                  string.printString(str);
              }
          }

          posted on 2011-04-06 18:54 迷茫在java的世界里 閱讀(368) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 垦利县| 宕昌县| 乐安县| 玛多县| 灵川县| 通州市| 巴楚县| 宜春市| 三亚市| 东乡族自治县| 太仆寺旗| 东乡县| 吉安县| 周宁县| 浮梁县| 安义县| 壶关县| 三门县| 宁河县| 吐鲁番市| 固原市| 依兰县| 桃园市| 汝城县| 连云港市| 遵化市| 平江县| 沛县| 昂仁县| 宁都县| 邮箱| 桐柏县| 依兰县| 四会市| 克拉玛依市| 小金县| 方山县| 林口县| 靖安县| 泗水县| 乐昌市|