Common-lang 研究 -- StringUtils 3

本文详细介绍了 Apache Commons Lang 库中用于处理字符串的方法,包括 strip、stripToNull 和 stripToEmpty 等函数的应用场景及测试示例。通过具体的代码演示了如何去除字符串两端的空白符和其他指定字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方网站
http://commons.apache.org/lang/
下载地址
http://commons.apache.org/lang/download_lang.cgi
版本
commons-lang3-3.0-beta

测试方法

public static String strip(String str)
public static String strip(String str,String stripChars)
public static String stripToNull(String str)
public static String stripToEmpty(String str)
public static String stripStart(String str,String stripChars)
public static String stripEnd(String str,String stripChars)



测试代码

String emptyString = "";
String nullString = null;
String blankString1 = " ";
String blankString2 = "\t\r\f\n";
String normalString1 = "Hello World!";
String normalString2 = " Hello World!";
String normalString3 = "Hello World! ";
String normalString4 = " Hello World! ";

String normalString5 = "xxxxxHello World!xxxxxx";
String normalString6 = "abcHello World!abcabc";
String normalString7 = "abcxyzHello World!abcxyzabc";


System.out.println("----------------------strip-------------------------------");
// 去掉字符串两端的空白符(whitespace) ,如果输入为 null 则返回 null 注意和 trim() 的区别

System.out.println("emptyString \t--> " + StringUtils.strip(emptyString));
System.out.println("nullString \t--> " + StringUtils.strip(nullString));
System.out.println("blankString1 \t--> " + StringUtils.strip(blankString1));
System.out.println("blankString2 \t--> " + StringUtils.strip(blankString2));
System.out.println("normalString1 \t--> " + StringUtils.strip(normalString1));
System.out.println("normalString2 \t--> " + StringUtils.strip(normalString2));
System.out.println("normalString3 \t--> " + StringUtils.strip(normalString3));
System.out.println("normalString4 \t--> " + StringUtils.strip(normalString4));

/**
* 去掉 str 两端的在 stripChars 中的字符。
* 如果 str 为 null 或等于"" ,则返回它本身;
* 如果 stripChars 为 null 或"" ,则返回 strip(String str) 。
*/
System.out.println("normalString5 \t--> " + StringUtils.strip(normalString5,"x"));
System.out.println("normalString6 \t--> " + StringUtils.strip(normalString6,"abc"));
System.out.println("normalString7 \t--> " + StringUtils.strip(normalString7,"abcd"));


System.out.println("----------------------stripToNull---------------------");
//去掉字符串两端的空白符(whitespace) ,如果变为 null 或"",则返回 null 注意和 trimToNull() 的区别

System.out.println("emptyString \t--> " + StringUtils.stripToNull(emptyString));
System.out.println("nullString \t--> " + StringUtils.stripToNull(nullString));
System.out.println("blankString1 \t--> " + StringUtils.stripToNull(blankString1));
System.out.println("blankString2 \t--> " + StringUtils.stripToNull(blankString2));
System.out.println("normalString1 \t--> " + StringUtils.stripToNull(normalString1));
System.out.println("normalString2 \t--> " + StringUtils.stripToNull(normalString2));
System.out.println("normalString3 \t--> " + StringUtils.stripToNull(normalString3));
System.out.println("normalString4 \t--> " + StringUtils.stripToNull(normalString4));

System.out.println("----------------------stripToEmpty------------------------");
//去掉字符串两端的空白符(whitespace) ,如果变为 null 或"" ,则返回"" 注意和 trimToEmpty() 的区别

System.out.println("emptyString \t--> " + StringUtils.stripToEmpty(emptyString));
System.out.println("nullString \t--> " + StringUtils.stripToEmpty(nullString));
System.out.println("blankString1 \t--> " + StringUtils.stripToEmpty(blankString1));
System.out.println("blankString2 \t--> " + StringUtils.stripToEmpty(blankString2));
System.out.println("normalString1 \t--> " + StringUtils.stripToEmpty(normalString1));
System.out.println("normalString2 \t--> " + StringUtils.stripToEmpty(normalString2));
System.out.println("normalString3 \t--> " + StringUtils.stripToEmpty(normalString3));
System.out.println("normalString4 \t--> " + StringUtils.stripToEmpty(normalString4));


String stripStartString1 = "abcHello World!";
String stripStartString2 = " Hello World!";
String stripStartString3 = "Hello World! ";
String stripStartString4 = " Hello World! ";
String stripStartString5 = "abcHello World!abc";
String stripStartString6 = "abcxyzHello World! abcxyz";
System.out.println("----------------------stripStart----------------------------------");
System.out.println("emptyString \t--> " + StringUtils.stripStart(emptyString,"any"));
System.out.println("nullString \t--> " + StringUtils.stripStart(nullString,"any"));
System.out.println("blankString1 \t--> " + StringUtils.stripStart(blankString1,"any"));
System.out.println("blankString2 \t--> " + StringUtils.stripStart(blankString2,"any"));

System.out.println("stripStartString1 \t--> " + StringUtils.stripStart(stripStartString1,"abc"));
System.out.println("stripStartString2 \t--> " + StringUtils.stripStart(stripStartString2," "));
System.out.println("stripStartString3 \t--> " + StringUtils.stripStart(stripStartString3," "));
System.out.println("stripStartString4 \t--> " + StringUtils.stripStart(stripStartString4," "));
System.out.println("stripStartString5 \t--> " + StringUtils.stripStart(stripStartString5,"abcd"));
System.out.println("stripStartString6 \t--> " + StringUtils.stripStart(stripStartString6,"abc"));

String stripEndString1 = "Hello World!abc";
String stripEndString2 = " Hello World!";
String stripEndString3 = "Hello World! ";
String stripEndString4 = " Hello World! ";
String stripEndString5 = "abcHello World!abc";
String stripEndString6 = "abcxyzHello World! xyzabc";
System.out.println("----------------------stripEnd----------------------------------");
System.out.println("emptyString \t--> " + StringUtils.stripEnd(emptyString,"any"));
System.out.println("nullString \t--> " + StringUtils.stripEnd(nullString,"any"));
System.out.println("blankString1 \t--> " + StringUtils.stripEnd(blankString1,"any"));
System.out.println("blankString2 \t--> " + StringUtils.stripEnd(blankString2,"any"));

System.out.println("stripEndString1 \t--> " + StringUtils.stripEnd(stripEndString1,"abc"));
System.out.println("stripEndString2 \t--> " + StringUtils.stripEnd(stripEndString2," "));
System.out.println("stripEndString3 \t--> " + StringUtils.stripEnd(stripEndString3," "));
System.out.println("stripEndString4 \t--> " + StringUtils.stripEnd(stripEndString4," "));
System.out.println("stripEndString5 \t--> " + StringUtils.stripEnd(stripEndString5,"abcd"));
System.out.println("stripEndString6 \t--> " + StringUtils.stripEnd(stripEndString6,"abc"));


测试结果


----------------------strip-------------------------------
emptyString -->
nullString --> null
blankString1 -->
blankString2 -->
normalString1 --> Hello World!
normalString2 --> Hello World!
normalString3 --> Hello World!
normalString4 --> Hello World!
normalString5 --> Hello World!
normalString6 --> Hello World!
normalString7 --> xyzHello World!abcxyz
----------------------stripToNull---------------------
emptyString --> null
nullString --> null
blankString1 --> null
blankString2 --> null
normalString1 --> Hello World!
normalString2 --> Hello World!
normalString3 --> Hello World!
normalString4 --> Hello World!
----------------------stripToEmpty------------------------
emptyString -->
nullString -->
blankString1 -->
blankString2 -->
normalString1 --> Hello World!
normalString2 --> Hello World!
normalString3 --> Hello World!
normalString4 --> Hello World!
----------------------stripStart----------------------------------
emptyString -->
nullString --> null
blankString1 -->
blankString2 -->


stripStartString1 --> Hello World!
stripStartString2 --> Hello World!
stripStartString3 --> Hello World!
stripStartString4 --> Hello World!
stripStartString5 --> Hello World!abc
stripStartString6 --> xyzHello World! abcxyz
----------------------stripEnd----------------------------------
emptyString -->
nullString --> null
blankString1 -->
blankString2 -->


stripEndString1 --> Hello World!
stripEndString2 --> Hello World!
stripEndString3 --> Hello World!
stripEndString4 --> Hello World!
stripEndString5 --> abcHello World!
stripEndString6 --> abcxyzHello World! xyz

commons-lang3.3.1.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。为JRE5.0+的更好的版本所提供 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE.txtMETA-INF/NOTICE.txtorg.apache.commons.lang.ArrayUtils.class org.apache.commons.lang.BitField.class org.apache.commons.lang.BooleanUtils.class org.apache.commons.lang.CharEncoding.class org.apache.commons.lang.CharRange.class org.apache.commons.lang.CharSet.class org.apache.commons.lang.CharSetUtils.class org.apache.commons.lang.CharUtils.class org.apache.commons.lang.ClassUtils.class org.apache.commons.lang.Entities$ArrayEntityMap.class org.apache.commons.lang.Entities$BinaryEntityMap.class org.apache.commons.lang.Entities$EntityMap.class org.apache.commons.lang.Entities$HashEntityMap.class org.apache.commons.lang.Entities$LookupEntityMap.class org.apache.commons.lang.Entities$MapIntMap.class org.apache.commons.lang.Entities$PrimitiveEntityMap.class org.apache.commons.lang.Entities$TreeEntityMap.class org.apache.commons.lang.Entities.class org.apache.commons.lang.IllegalClassException.class org.apache.commons.lang.IncompleteArgumentException.class org.apache.commons.lang.IntHashMap$Entry.class org.apache.commons.lang.IntHashMap.class org.apache.commons.lang.LocaleUtils.class org.apache.commons.lang.NotImplementedException.class org.apache.commons.lang.NullArgumentException.class org.apache.commons.lang.NumberRange.class org.apache.commons.lang.NumberUtils.class org.apache.commons.lang.ObjectUtils$Null.class org.apache.commons.lang.ObjectUtils.class org.apache.commons.lang.RandomStringUtils.class org.apache.commons.lang.SerializationException.class org.apache.commons.lang.SerializationUtils.class org.apache.commons.lang.StringEscapeUtils.class 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.WordUtils.class org.apache.commons.lang.builder.CompareToBuilder.class org.apache.commons.lang.builder.EqualsBuilder.class org.apache.commons.lang.builder.HashCodeBuilder.class org.apache.commons.lang.builder.ReflectionToStringBuilder$1.class org.apache.commons.lang.builder.ReflectionToStringBuilder.class org.apache.commons.lang.builder.StandardToStringStyle.class org.apache.commons.lang.builder.ToStringBuilder.class org.apache.commons.lang.builder.ToStringStyle$DefaultToStringStyle.class org.apache.commons.lang.builder.ToStringStyle$MultiLineToStringStyle.class org.apache.commons.lang.builder.ToStringStyle$NoFieldNameToStringStyle.class org.apache.commons.lang.builder.ToStringStyle$ShortPrefixToStringStyle.class org.apache.commons.lang.builder.ToStringStyle$SimpleToStringStyle.class org.apache.commons.lang.builder.ToStringStyle.class org.apache.commons.lang.enum.Enum$Entry.class org.apache.commons.lang.enum.Enum.class org.apache.commons.lang.enum.EnumUtils.class org.apache.commons.lang.enum.ValuedEnum.class org.apache.commons.lang.enums.Enum$Entry.class org.apache.commons.lang.enums.Enum.class org.apache.commons.lang.enums.EnumUtils.class org.apache.commons.lang.enums.ValuedEnum.class org.apache.commons.lang.exception.ExceptionUtils.class org.apache.commons.lang.exception.Nestable.class org.apache.commons.lang.exception.NestableDelegate.class org.apache.commons.lang.exception.NestableError.class org.apache.commons.lang.exception.NestableException.class org.apache.commons.lang.exception.NestableRuntimeException.class org.apache.commons.lang.math.DoubleRange.class org.apache.commons.lang.math.FloatRange.class org.apache.commons.lang.math.Fraction.class org.apache.commons.lang.math.IntRange.class org.apache.commons.lang.math.JVMRandom.class org.apache.commons.lang.math.LongRange.class org.apache.commons.lang.math.NumberRange.class org.apache.commons.lang.math.NumberUtils.class org.apache.commons.lang.math.RandomUtils.class org.apache.commons.lang.math.Range.class org.apache.commons.lang.mutable.Mutable.class org.apache.commons.lang.mutable.MutableBoolean.class org.apache.commons.lang.mutable.MutableByte.class org.apache.commons.lang.mutable.MutableDouble.class org.apache.commons.lang.mutable.MutableFloat.class org.apache.commons.lang.mutable.MutableInt.class org.apache.commons.lang.mutable.MutableLong.class org.apache.commons.lang.mutable.MutableObject.class org.apache.commons.lang.mutable.MutableShort.class org.apache.commons.lang.text.CompositeFormat.class org.apache.commons.lang.text.StrBuilder$StrBuilderReader.class org.apache.commons.lang.text.StrBuilder$StrBuilderTokenizer.class org.apache.commons.lang.text.StrBuilder$StrBuilderWriter.class org.apache.commons.lang.text.StrBuilder.class org.apache.commons.lang.text.StrLookup$MapStrLookup.class org.apache.commons.lang.text.StrLookup.class org.apache.commons.lang.text.StrMatcher$CharMatcher.class org.apache.commons.lang.text.StrMatcher$CharSetMatcher.class org.apache.commons.lang.text.StrMatcher$NoMatcher.class org.apache.commons.lang.text.StrMatcher$StringMatcher.class org.apache.commons.lang.text.StrMatcher$TrimMatcher.class org.apache.commons.lang.text.StrMatcher.class org.apache.commons.lang.text.StrSubstitutor.class org.apache.commons.lang.text.StrTokenizer.class org.apache.commons.lang.time.DateFormatUtils.class org.apache.commons.lang.time.DateUtils$DateIterator.class org.apache.commons.lang.time.DateUtils.class org.apache.commons.lang.time.DurationFormatUtils$Token.class org.apache.commons.lang.time.DurationFormatUtils.class org.apache.commons.lang.time.FastDateFormat$CharacterLiteral.class org.apache.commons.lang.time.FastDateFormat$NumberRule.class org.apache.commons.lang.time.FastDateFormat$PaddedNumberField.class org.apache.commons.lang.time.FastDateFormat$Pair.class org.apache.commons.lang.time.FastDateFormat$Rule.class org.apache.commons.lang.time.FastDateFormat$StringLiteral.class org.apache.commons.lang.time.FastDateFormat$TextField.class org.apache.commons.lang.time.FastDateFormat$TimeZoneDisplayKey.class org.apache.commons.lang.time.FastDateFormat$TimeZoneNameRule.class org.apache.commons.lang.time.FastDateFormat$TimeZoneNumberRule.class org.apache.commons.lang.time.FastDateFormat$TwelveHourField.class org.apache.commons.lang.time.FastDateFormat$TwentyFourHourField.class org.apache.commons.lang.time.FastDateFormat$TwoDigitMonthField.class org.apache.commons.lang.time.FastDateFormat$TwoDigitNumberField.class org.apache.commons.lang.time.FastDateFormat$TwoDigitYearField.class org.apache.commons.lang.time.FastDateFormat$UnpaddedMonthField.class org.apache.commons.lang.time.FastDateFormat$UnpaddedNumberField.class org.apache.commons.lang.time.FastDateFormat.class org.apache.commons.lang.time.StopWatch.class
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值