随笔 - 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 阅读(393) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: