`

妙用Commons良药 StringUtils

阅读更多
来自:http://lighter.iteye.com/blog/102502



谈谈怎么用org.apache.commons.lang.StringUtils这一个类,讲一下具体的几个常用的方法
使用StringUtils.isBlank(),该方法在收到空字符串,零长度字符串或全为空格的字符串时将返回true.它能通过返回true的方式优雅地处理null.
String test = "";
String test2 = "\n\n\t";
String test3 = null;
String test4 = "Test";
System.out.println( "test blank? " + StringUtils.isBlank( test ) );
System.out.println( "test2 blank? " + StringUtils.isBlank( test2 ) );
System.out.println( "test3 blank? " + StringUtils.isBlank( test3 ) );
System.out.println( "test4 blank? " + StringUtils.isBlank( test4 ) );

前面三个返回true,返回一个返回false


同样,有一个StringUtils.isNotBlank()方法,当一个字符串里面为空,或只包含空格,或是null时,该方法将返回false,该方法的作用相当于:
if( variable != null &&  variable.length( ) > 0 && !variable.trim( ).equals("") ) {
        // Do something
}



接下来,介绍一个非常有用的方法StringUtils.abbreviate(),该方法接受一个字符串,如果可以的话就缩减它,如果要把一个字符串缩减为20个字符长,而原字符串长度小于20个字符长,则该方法将返回原文本.若原字符串长度大于20个字符,则显示17个字符和3个省略号.
String test = "This is a test of the abbreviation."
String test2 = "Test"
System.out.println( StringUtils.abbreviate( test, 10 ) );
System.out.println( StringUtils.abbreviate( test2, 10 ) );
结果如下:
This is...
Test
另外一点,可以使用StringUtils.split(),并提供一系列字符作为分隔符,StringUtils.chomp()去除字符串的末行终止序列.



接下来,看一下StringUtils.substringBetween()方法,看下面一个例子:


String variables = "{45}, {35}, {120}" ;
List numbers = new ArrayList( );

String variablesTemp = variables;
while( StringUtils.substringBetween( variablesTemp, "{", "}" ) != null ) {
    String numberStr = StringUtils.substringBetween( variables, "{", "}" );
    Double number = new Double( numberStr );
    numbers.add( number );
    variablesTemp = variablesTemp.substring( variablesTemp.indexOf(",") );
}
double sum = StatUtil.sum( ArrayUtils.toPrimitive( numbers.toArray( ) ) );
System.out.println( "Variables: " + variables + ", Sum: " + sum );


其结果如下:
Variable: {45}, {35}, {120}, Sum: 200


如果字符串的首尾含有需要清除的字符,可使用StringUtils.strip()清除它们.看下面例子:

String original = "-------***---SHAZAM!---***-------";
String stripped = StringUtils.strip( original, "-*" );
System.out.println( "Stripped: " + stripped )


结果如下:
Stripped: SHAZAM!



增加一点,StringUtils.reverse()可以实现字符串的反转,StringUtils.reverseDelimited()能够分隔符反向排列字符串中的标记.举例:

public Sentence reverseSentence(String sentence) {
    String reversed = StringUtils.chomp( sentence, "." );
    reversed = StringUtils.reverseDelimited( reversed, ' ' );
    reversed = reversed + ".";
    return reversed;
} 
String sentence = "I am Susan."
String reversed = reverseSentence( sentence ) );
System.out.println( sentence );
System.out.println( reversed );


结果如下:
I am Susan.
Susan am I.:


当然,还可以检测字符串内容,isNumeric( ),isAlpha(),isAlphanumeric(),and isAlphaSpace()这几个方法用来验证用户输入的正确性,验证字符串的内容是否为数字,是否字符,是否为数字+字符,是否为字符+空格.


如果你需要检查一个大文件里面一个字符串出现的次数,可以为StringUtils.countMatches()这一个方法,下面举一个比较好的例子,不能将整个文件放入内存中,相对比较合理的做法是一次一行地统计,其方法如下:



public  int testNumber() throws Exception{
		   File manuscriptFile = new File("c:\\test.txt");
		   Reader reader = new FileReader(manuscriptFile);
		   LineNumberReader lineReader = new LineNumberReader(reader);
		   int number = 0;
		   while(lineReader.ready()){
			   String line = StringUtils.lowerCase(lineReader.readLine());
			   number += StringUtils.countMatches(line, "test");
		   }
		   return number;
		   
    }








分享到:
评论

相关推荐

    org.apache.commons.lang3.StringUtils.jar.rar

    2. **拼接操作**:`StringUtils.join()` 方法允许你将多个对象或数组元素用特定分隔符连接成一个字符串,比使用 `String.concat()` 或 `StringBuilder` 更简洁。 3. **分割操作**:`StringUtils.split()` 可以按照...

    org.apache.commons.lang3.StringUtils.jar

    /* 内含 common-lang3.jar commons-lang3-3.9-bin.zip commons-lang3-3.9-src.zip 使用说明.txt*/ public static String getClientIp(HttpServletRequest request) { String ip = request.getHeader("X-...

    commons-lang3-3.1 StringUtils字符串jar包

    commons-lang3-3.1 StringUtils字符串jar包 org.apache.commons.lang3.StringUtils的jar包

    commons-lang3-3.1jar:org.apache.commons.lang3.StringUtils等.

    `org.apache.commons.lang3.StringUtils`是Lang包中的一个关键类,它提供了大量与字符串操作相关的静态方法。这些方法涵盖了字符串的检查、比较、转换、格式化以及分割等常见任务。例如: 1. `isEmpty()`:检查字符...

    org.apache.commons.lang jar包下载

    org.apache.commons.lang.StringUtils.class org.apache.commons.lang.SystemUtils.class org.apache.commons.lang.UnhandledException.class org.apache.commons.lang.Validate.class org.apache.commons.lang....

    org.apache.commons.lang jar包下载(commons-lang3-3.1.jar)

    org.apache.commons.lang.StringUtils.class org.apache.commons.lang.SystemUtils.class org.apache.commons.lang.UnhandledException.class org.apache.commons.lang.Validate.class org.apache.commons.lang....

    commons-lang-StringUtils.zip

    `StringUtils.split(String str, char separatorChar)`允许你根据指定的分隔符将字符串分割成数组,而`StringUtils.join(Object[] array, String separator)`可以将数组元素合并为一个字符串,中间用指定的分隔符...

    org.apache.commons.lang jar下载

    1. **字符串操作**: Commons Lang 提供了 `StringUtils` 类,它包含了一系列静态方法,用于执行复杂的字符串操作,如空白字符处理、分割、连接、替换、比较等,这些方法比Java内置的String类功能更加强大。...

    org.apache.commons.lang包

    在Java项目中,将Apache Commons Lang的jar包添加到项目的类路径中,就可以直接使用其中提供的类和方法。 在标签中提到了"commons.lang jar包",这表明了这个资源包的核心是`commons-lang.jar`,在更现代的版本中,...

    StringUtils

    java String工具类,继承自org.apache.commons.lang3.StringUtils,并优化

    自定封装StringUtils常用方法

    继承了org.apache.commons.lang3.StringUtils工具类,加入了部分常用方法,使用时直接添加到项目的公共utils下,同时在pom.xml加入依赖: <!-- ...

    StringUtils API 使用方法

    `StringUtils` API 是 Apache Commons Lang 库中的一个实用工具类,专门为处理 `java.lang.String` 对象提供了丰富的静态方法。这个库是对 Java 标准库中的 `String` 类方法的一个扩展,尤其在处理 `null` 和空白...

    stringUtils的jar包

    org.apache.commons.lang3.StringUtils的jar包,判断字符串为空

    StringUtils的各项用法

    在Java编程中,处理字符串是常见的任务,Apache Commons Lang库中的StringUtils类提供了丰富的字符串操作方法,极大地提高了开发效率。本文将深入探讨StringUtils的几个重要功能,包括空字符串检查、清除空白字符、...

    StringUtils(最新)

    3. **字符串连接**:`StringUtils.join(Object[] array, String separator)` 方法可以方便地将数组元素用指定的分隔符连接成一个字符串。 4. **字符串分割**:`StringUtils.split(String str, String delimiter)` ...

    StringUtils源码及使用文档

    `StringUtils`是Apache Commons Lang库中的一个核心工具类,它提供了大量的静态方法,用于处理字符串。这个类在Java开发中非常常见,因为它弥补了Java标准库中对字符串操作的不足。`StringUtils`类包含了多种字符串...

    commons-lang.jar

    org.apache.commons.lang.StringUtils.class org.apache.commons.lang.SystemUtils.class org.apache.commons.lang.UnhandledException.class org.apache.commons.lang.Validate.class org.apache.commons.lang....

    StringUtils工具类的使用

    要在项目中使用StringUtils,首先需要将Apache Commons Lang库添加到项目的依赖管理中。如果是Maven项目,可以在pom.xml中添加以下依赖: ```xml <groupId>org.apache.commons <artifactId>commons-lang3 ...

    StringUtils jar包

    这个库主要由Apache Commons Lang项目提供,这是一个广泛使用的开源组件,旨在补充Java标准库中对于字符串操作的功能不足。在Java标准库中,虽然`String`类已经提供了很多基本的字符串操作方法,但`StringUtils`提供...

    apache-commons所有jar包

    例如,通过使用 Commons Lang 可以简化字符串处理,使用 Commons IO 可以方便地进行文件操作,使用 Commons BeanUtils 可以简化对象属性的设置和获取。在构建基于 Spring 或 Struts 的应用程序时,这些工具类库更是...

Global site tag (gtag.js) - Google Analytics