糊言亂語

          志未半斤, 才無八兩. 有苦有樂, 糊涂過活。
          posts - 25, comments - 7, trackbacks - 0, articles - 42
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          處理文本對Java應用來說應該算是家常便飯了,在1.4出現之前,Java自身提供的API非常有限,如StringStringTokenizerStringBuffer,操作也比較單一。無非就是查找substring、分解、合并等等。到1.4的出現可以說Java的文字處理上了一個臺階,因為它支持regular expression了。這可是個重量級而方便的東東啊,缺點是太復雜,學習起來有一定難度。相較而言,Jakarta Commons提供的StringUtilsWordUtils至今還維持著那種簡潔而強大的美,使用起來也很順手。來看一個例子:

           

          package sean.study.jakarta.commons.lang;

           

          import org.apache.commons.lang.StringUtils;

           

          public class StringUtilsAndWordUtilsUsage {

           

              public static void main(String[] args) {

                 

                  // data setup

                  String str1 = "";

                  String str2 = " ";

                  String str3 = "\t";

                  String str4 = null;

                  String str5 = "123";

                  String str6 = "ABCDEFG";

                  String str7 = "It feels good to use Jakarta Commons.\r\n";

                 

                  // check for empty strings

                  System.out.println("==============================");

                  System.out.println("Is str1 blank? " + StringUtils.isBlank(str1));

                  System.out.println("Is str2 blank? " + StringUtils.isBlank(str2));

                  System.out.println("Is str3 blank? " + StringUtils.isBlank(str3));

                  System.out.println("Is str4 blank? " + StringUtils.isBlank(str4));

                 

                  // check for numerics

                  System.out.println("==============================");

                  System.out.println("Is str5 numeric? " + StringUtils.isNumeric(str5));

                  System.out.println("Is str6 numeric? " + StringUtils.isNumeric(str6));

                 

                  // reverse strings / whole words

                  System.out.println("==============================");

                  System.out.println("str6: " + str6);

                  System.out.println("str6 reversed: " + StringUtils.reverse(str6));

                  System.out.println("str7: " + str7);

                  String str8 = StringUtils.chomp(str7);

                  str8 = StringUtils.reverseDelimited(str8, ' ');

                  System.out.println("str7 reversed whole words : \r\n" + str8);

                 

                  // build header (useful to print log messages that are easy to locate)

                  System.out.println("==============================");

                  System.out.println("print header:");

                  String padding = StringUtils.repeat("=", 50);

                  String msg = StringUtils.center(" Customised Header ", 50, "%");

                  Object[] raw = new Object[]{padding, msg, padding};

                  String header = StringUtils.join(raw, "\r\n");

                  System.out.println(header);

           

              }

          }

           

          輸出的結果如下:

           

          ==============================

          Is str1 blank? true

          Is str2 blank? true

          Is str3 blank? true

          Is str4 blank? true

          ==============================

          Is str5 numeric? true

          Is str6 numeric? false

          ==============================

          str6: ABCDEFG

          str6 reversed: GFEDCBA

          str7: It feels good to use Jakarta Commons.

           

          str7 reversed whole words :

          Commons. Jakarta use to good feels It

          ==============================

          print header:

          ==================================================

          %%%%%%%%%%%%%%% Customised Header %%%%%%%%%%%%%%%%

          ==================================================

           

          從代碼中我們可以大致了解到這個StringUtils類簡單而強大的處理能力,從檢查空串(對null的情況處理很得體),到分割子串,到生成格式化的字符串,使用都很簡潔,也很直截了當。
          主站蜘蛛池模板: 大同县| 朝阳区| 马鞍山市| 遵义县| 北海市| 石林| 鄂州市| 皮山县| 醴陵市| 吐鲁番市| 历史| 虎林市| 宜州市| 牟定县| 新龙县| 成武县| 阳春市| 阿巴嘎旗| 武乡县| 巴南区| 蓝山县| 南康市| 马边| 桂平市| 鄂托克前旗| 靖边县| 柳林县| 江门市| 台中县| 福鼎市| 砚山县| 榆树市| 安远县| 繁昌县| 大渡口区| 卢氏县| 石门县| 贵阳市| 安远县| 塔河县| 靖州|