隨筆 - 4  文章 - 10  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          下午面試兩個同志, 感覺現在的同志們是 Spring, Hibernate 很熟悉, 但是 J2SE 反而陌生了.

          可以用兩個方法來分割字符串為數組.

          1. java.lang.String 的 split() 方法, JDK 1.4 or later

           

          split
          public String[] split(String regex,
          int limit)
          根據匹配給定的正則表達式來拆分此字符串。

          此方法返回的數組包含此字符串的每個子字符串,這些子字符串由另一個匹配給定的表達式的子字符串終止或由字符串結束來終止。數組中的子字符串按它們在此字符串中的順序排列。如果表達式不匹配輸入的任何部分,則結果數組只具有一個元素,即此字符串。

          limit 參數控制模式應用的次數,因此影響結果數組的長度。如果該限制 n 大于 0,則模式將被最多應用 n - 1 次,數組的長度將不會大于 n,而且數組的最后項將包含超出最后匹配的定界符的所有輸入。如果 n 為非正,則模式將被應用盡可能多的次數,而且數組可以是任意長度。如果 n 為零,則模式將被應用盡可能多的次數,數組可有任何長度,并且結尾空字符串將被丟棄。

          例如,字符串 "boo:and:foo" 使用這些參數可生成下列結果:

          Regex
          Limit
          結果

          :
          2
          { "boo", "and:foo" }

          :
          5
          { "boo", "and", "foo" }

          :
          -2
          { "boo", "and", "foo" }

          o
          5
          { "b", "", ":and:f", "", "" }

          o
          -2
          { "b", "", ":and:f", "", "" }

          o
          0
          { "b", "", ":and:f" }

          這種形式的方法調用 str.split(regex, n) 產生與以下表達式完全相同的結果:

          Pattern.compile(regex).split(str, n)
          參數:
          regex - 定界正則表達式
          limit - 結果閾值,如上所述
          返回:
          字符串數組,根據給定正則表達式的匹配來拆分此字符串,從而生成此數組
          拋出:
          PatternSyntaxException - 如果正則表達式的語法無效
          從以下版本開始:
          1.4
          另請參見:
          Pattern

          split
          public String[] split(String regex)
          根據給定的正則表達式的匹配來拆分此字符串。

          該方法的作用就像是使用給定的表達式和限制參數 0 來調用兩參數 split 方法。因此,結果數組中不包括結尾空字符串。

          例如,字符串 "boo:and:foo" 產生帶有下面這些表達式的結果:

          Regex
          結果

          :
          { "boo", "and", "foo" }

          o
          { "b", "", ":and:f" }

          參數:
          regex - 定界正則表達式
          返回:
          字符串數組,根據給定正則表達式的匹配來拆分此字符串,從而生成此數組。
          拋出:
          PatternSyntaxException - 如果正則表達式的語法無效
          從以下版本開始:
          1.4
          另請參見:
          Pattern

          2. java.util.Tokenizer JDK 1.0 or later

           

           

          string tokenizer 類允許應用程序將字符串分解為標記。tokenization 方法比 StreamTokenizer 類所使用的方法更簡單。StringTokenizer 方法不區分標識符、數和帶引號的字符串,它們也不識別并跳過注釋。

          可以在創建時指定,也可以根據每個標記來指定分隔符(分隔標記的字符)集合。

          StringTokenizer 的實例有兩種行為方式,這取決于它在創建時使用的 returnDelims 標志的值是 true 還是 false

          • 如果標志為 false,則分隔符字符用來分隔標記。標記是連續字符(不是分隔符)的最大序列。
          • 如果標志為 true,則認為那些分隔符字符本身即為標記。因此標記要么是一個分隔符字符,要么是那些連續字符(不是分隔符)的最大序列。

          StringTokenizer 對象在內部維護字符串中要被標記的當前位置。某些操作將此當前位置移至已處理的字符后。

          通過截取字符串的一個子串來返回標記,該字符串用于創建 StringTokenizer 對象。

          下面是一個使用 tokenizer 的實例。代碼如下:

               StringTokenizer st = new StringTokenizer("this is a test");
          while (st.hasMoreTokens()) {
          System.out.println(st.nextToken());
          }
          

          輸出以下字符串:

               this
          is
          a
          test
          StringTokenizer 是出于兼容性的原因而被保留的遺留類(雖然在新代碼中并不鼓勵使用它)。建議所有尋求此功能的人使用 Stringsplit 方法或 java.util.regex 包。 

          下面的示例闡明了如何使用 String.split 方法將字符串分解為基本標記:

               String[] result = "this is a test".split("\\s");
          for (int x=0; x<result.length; x++)
          System.out.println(result[x]);
          

          輸出以下字符串:

               this
          is
          a
          test
          
          posted on 2007-08-13 13:23 冬天出走的豬 閱讀(428) 評論(0)  編輯  收藏 所屬分類: j2se
          主站蜘蛛池模板: 忻州市| 遂昌县| 米易县| 睢宁县| 定远县| 临潭县| 措勤县| 金坛市| 栖霞市| 黔江区| 屯门区| 朔州市| 黄浦区| 龙岩市| 永昌县| 清原| 淮安市| 全椒县| 拉孜县| 平山县| 新源县| 马尔康县| 岳阳市| 磐安县| 宁蒗| 黎川县| 富宁县| 九江县| 克拉玛依市| 凌云县| 盘锦市| 宁阳县| 遵义市| 麦盖提县| 辽宁省| 和硕县| 万荣县| 平顺县| 湘西| 双江| 商洛市|