隨筆 - 3  文章 - 1  trackbacks - 0
          <2007年3月>
          25262728123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(2)

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評論

          • 1.?re: 不好的項目演示
          • 雖然項目演示失務,但我相信你的項目是最成功的,因為你的態度,你的聰明.

            You are NO.1! my lover
          • --roy117

          閱讀排行榜

          評論排行榜

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

          ?

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

          posted on 2007-03-16 22:32 terryliu 閱讀(401) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 镇安县| 钟山县| 安化县| 大渡口区| 靖安县| 藁城市| 永宁县| 临澧县| 玛多县| 弋阳县| 禹城市| 贵港市| 延川县| 万源市| 平乐县| 长岛县| 青阳县| 锡林浩特市| 兴宁市| 平潭县| 长白| 驻马店市| 芜湖县| 包头市| 金阳县| 阿城市| 镇康县| 柘荣县| 峨眉山市| 介休市| 潼南县| 体育| 锦州市| 兰考县| 丹棱县| 民勤县| 马公市| 大名县| 台北市| 博乐市| 伊吾县|