糊言亂語

          志未半斤, 才無八兩. 有苦有樂, 糊涂過活。
          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的情況處理很得體),到分割子串,到生成格式化的字符串,使用都很簡潔,也很直截了當。
          主站蜘蛛池模板: 灵璧县| 英超| 吉首市| 汝南县| 靖宇县| 随州市| 岚皋县| 根河市| 临城县| 云梦县| 庆元县| 来宾市| 荆州市| 乐清市| 奎屯市| 盐源县| 慈溪市| 噶尔县| 滕州市| 吉木萨尔县| 阳山县| 榆树市| 江口县| 孙吴县| 石屏县| 广平县| 鄂托克前旗| 弥勒县| 通海县| 屏东县| 车险| 黑河市| 阿拉善右旗| 韶关市| 弥渡县| 惠州市| 芜湖县| 大厂| 潢川县| 芦溪县| 翼城县|