Read Sean

          Read me, read Sean.
          posts - 508, comments - 655, trackbacks - 9, articles - 4

          [Jakarta Commons筆記] 代碼范例 - StringUtils

          Posted on 2005-07-30 11:37 laogao 閱讀(5031) 評論(0)  編輯  收藏 所屬分類: On Java

           

          處理文本對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的情況處理很得體),到分割子串,到生成格式化的字符串,使用都很簡潔,也很直截了當。

           

           

          主站蜘蛛池模板: 景谷| 英超| 自贡市| 江山市| 伊金霍洛旗| 吉林省| 定西市| 合阳县| 澄城县| 崇文区| 英德市| 昌平区| 乐平市| 汤阴县| 昌乐县| 九江市| 奉化市| 肃宁县| 宝应县| 缙云县| 三穗县| 无棣县| 隆回县| 虞城县| 瑞金市| 游戏| 富民县| 桓台县| 称多县| 垫江县| 永康市| 察隅县| 余干县| 镇原县| 库伦旗| 浦江县| 常宁市| 岚皋县| 临夏县| 互助| 岢岚县|