The NoteBook of EricKong

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

          In this article we will see how to split string in Java both by using String’s split() method and StringTokenizer. If you have any doubt on anything related to split string please let me know and I will try to help.


          String Split Example Java
          Let's see an example of splitting string in Java by using split() function:

           

          //split string example


          String assetClasses 
          = "Gold:Stocks:Fixed Income:Commodity:Interest Rates";
          String[] splits 
          = asseltClasses.split(":");


          System.out.println(
          "splits.size: " + splits.length);


          for(String asset: assetClasses){
          System.out.println(asset);
          }



          OutPut
          splits.size: 5
          Gold
          Stocks
          Fixed Income
          Commodity
          Interest Rates

          In above example we have provided delimiter or separator as “:” to split function which expects a regular expression and used to split the string.
          Now let see another example of split using StringTokenizer

          //string split example StringTokenizer


          StringTokenizer stringtokenizer 
          = new StringTokenizer(asseltClasses, ":");
          while (stringtokenizer.hasMoreElements()) {
          System.out.println(stringtokenizer.nextToken());
          }



          OutPut
          Gold
          Stocks
          Fixed Income
          Commodity
          Interest Rates


          My personal favorite is String.split () because it’s defined in String class itself and its capability to handle regular expression which gives you immense power to split the string on any delimiter you ever need. Though it’s worth to remember following points about split method in Java


          1) Some special characters need to be escaped while using them as delimiters or separators e.g. "." and "|".

           //string split on special character “|”

          String assetTrading 
          = "Gold Trading|Stocks Trading|Fixed Income Trading|Commodity Trading|FX trading";


          String[] splits 
          = assetTrading.split("\\|");  // two \\ is required because "\"     itself require escaping


          for(String trading: splits){
          System.out.println(trading);
          }



          OutPut:
          Gold Trading
          Stocks Trading
          Fixed Income Trading
          Commodity Trading
          FX trading

           

           // split string on “.”
          String smartPhones = "Apple IPhone.HTC Evo3D.Nokia N9.LG Optimus.Sony Xperia.Samsung Charge”;


          String[] smartPhonesSplits 
          = smartPhones.split("\\.");


          for(String smartPhone: smartPhonesSplits){
          System.out.println(smartPhone);
          }


          OutPut:
          Apple IPhone
          HTC Evo3D
          Nokia N9
          LG Optimus
          Sony Xperia
          Samsung Charge

          2) You can control number of split by using overloaded version split (regex, limit). If you give limit as 2 it will only creates two strings. For example in following example we could have total 4 splits but if we just want to create 2 we can use limit.

           


          //string split example with limit


          String places 
          = "London.Switzerland.Europe.Australia";
          String[] placeSplits 
          = places.split("\\.",2);


          System.out.println(
          "placeSplits.size: " + placeSplits.length );


          for(String contents: placeSplits){
          System.out.println(contents);
          }



          Output:
          placeSplits.size: 2
          London
          Switzerland.Europe.Australia

          To conclude the topic StringTokenizer is old way of tokenizing string and with introduction of split since JDK 1.4 its usage is discouraged. No matter what kind of project you work you often need to split string in Java so better get familiar with these API.

           

          posted on 2011-12-14 13:44 Eric_jiang 閱讀(252) 評(píng)論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 芜湖市| 盐源县| 宜兴市| 舒城县| 舟山市| 宜君县| 江西省| 大洼县| 松滋市| 莎车县| 二连浩特市| 台中市| 嵊州市| 武夷山市| 尖扎县| 葫芦岛市| 临沂市| 肥西县| 呼和浩特市| 巩义市| 襄城县| 东港市| 体育| 荣昌县| 鄱阳县| 太湖县| 双辽市| 措美县| 商丘市| 舒兰市| 云林县| 新郑市| 澳门| 义马市| 淮阳县| 图片| 新巴尔虎右旗| 石屏县| 马关县| 策勒县| 保亭|