`
LLeye
  • 浏览: 4190 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

关于StringUtils的各种方法的功能、解析

阅读更多
<div class="iteye-blog-content-contain" style="font-size: 14px">

这些是个人,为了加强StringUtils方法的记忆,随便写写的,希望大家喜欢

public class StringUtilsTest extends TestCase {

// 将字符串转换成小写
@Test
public void test_lowerCase() {
// assertEquals("aaa", StringUtils.lowerCase("AAA"));
// assertEquals("", StringUtils.lowerCase("")); true
// assertEquals("aa", StringUtils.lowerCase("Aa")); true
// assertEquals("aa", StringUtils.lowerCase("aa")); true
// System.out.println(StringUtils.lowerCase(""));
assertEquals(null, StringUtils.lowerCase(null));
}

// 将字符串转换成大写
@Test
public void test_upperCase() {
// System.out.println(StringUtils.upperCase("aaa"));
assertEquals("AAA", StringUtils.upperCase("aaa"));
assertEquals(null, StringUtils.upperCase(null));
}

// 从第几个字符串开始省略
@Test
public void test_abbreviate() {
assertEquals("aa...", StringUtils.abbreviate("aaaa bbbb cccc", 5));
// maxWidth最小为4
// System.out.println(StringUtils.abbreviate("aabbccddeeffgg", 6));
assertEquals(null, StringUtils.abbreviate(null, 4));
}

// 对字符串lenth对半分middle是中间分隔符
@Test
public void test_abbreviateMiddle() {
// System.out.println(StringUtils.abbreviateMiddle("abcdefghijk", "-",
// 7));
assertEquals("ab-fg", StringUtils.abbreviateMiddle("abcdefg", "-", 5));
}

// 判断字符串是否为空或者是为null
@Test
public void test_isBlank() {
assertEquals(false, StringUtils.isBlank("aaa"));
assertEquals(true, StringUtils.isBlank(""));
// System.out.println(StringUtils.isBlank("aaa"));
}

// 判断字符串非空或者是非null
@Test
public void test_isNotBlank() {
assertEquals(false, StringUtils.isNotBlank(""));
assertEquals(true, StringUtils.isNotBlank("adsfa"));
}

// 首写字母大写
@Test
public void test_capitalize() {
assertEquals("Aaa", StringUtils.capitalize("aaa"));
assertEquals("", StringUtils.capitalize(""));
}

// 首写字母小写
@Test
public void test_uncapitalize() {
assertEquals("aAA", StringUtils.uncapitalize("AAA"));
}

// 以本在字符串在中间,两边用padStr来填充
@Test
public void test_center() {
// System.out.println(StringUtils.center("aaaaa", 10));
// System.out.println(StringUtils.center("aaa", 7, "--"));
// assertEquals("--aa--", StringUtils.center("aa", 6, "--"));
assertEquals(null, StringUtils.center(null, 6, "--"));
}

// 左侧填充
@Test
public void test_leftPad() {
assertEquals("--aa", StringUtils.leftPad("aa", 4, "-"));
}

// 右侧填充
@Test
public void test_rightPad() {
assertEquals("aa--", StringUtils.rightPad("aa", 4, "-"));
}

// 重复字符串
@Test
public void test_repeat() {
assertEquals("abcabc", StringUtils.repeat("abc", 2));
assertEquals("abcbcabc", StringUtils.repeat("abc", "bc", 2));
}

// 是否全部小写 不能为null
@Test
public void test_isAllLowerCase() {
assertEquals(true, StringUtils.isAllLowerCase("adfadfa"));
}

// 是否全部大写 不能为null
@Test
public void test_isAllUpperCase() {
assertEquals(true, StringUtils.isAllUpperCase("AFADF"));
// assertEquals(null, StringUtils.isAllUpperCase(null)); 不能为null
}

// 全部由字母组成
@Test
public void test_isAlpha() {
assertEquals(true, StringUtils.isAlpha("adsfad"));
}

// 全部由字母跟空格组成
@Test
public void test_isAlphaSpace() {
assertEquals(true, StringUtils.isAlphaSpace("afdsf   asfdad"));
// assertEquals(null, StringUtils.isAlphaSpace(null)); 不能为null
}

// 只由字母和数字组成
@Test
public void test_isAlphanumeric() {
assertEquals(true, StringUtils.isAlphanumeric("adfad12321"));
}

// 只由字母数字和空格组成
@Test
public void test_isAlphanumericSpace() {
assertEquals(true, StringUtils.isAlphanumericSpace("adsfa  1232 adsf "));
}

// 只由数字
@Test
public void test_isNumeric() {
assertEquals(true, StringUtils.isNumeric("12312"));
}

// 只由数字和空格
@Test
public void test_isNumericSpace() {
assertEquals(true, StringUtils.isNumericSpace("12312   "));
}

// 小写字符串在大写字符串中的匹配次数
@Test
public void test_countMatches() {
assertEquals(3, StringUtils.countMatches(
"asdfasdfasdfasfdqwefvdasvfqwefadsvqwef", "asdf"));
// System.out.println(StringUtils.countMatches("asdfasdfasdfasfdqwefvdasvfqwefadsvqwef",
// "asdf"));
}

// 字符串倒转
@Test
public void test_reverse() {
assertEquals("asdf", StringUtils.reverse("fdsa"));
assertEquals(null, StringUtils.reverse(null));
}

// 大小写转换,空格不动
@Test
public void test_swapCase() {
assertEquals("aB - cD", StringUtils.swapCase("Ab - Cd"));
}

// 去掉两端控制字符
@Test
public void test_trim() {
// System.out.println(StringUtils.trim("  aa bb cc   \t"));
assertEquals("", StringUtils.trim("        "));
assertEquals("aa bb cc", StringUtils.trim("   aa bb cc \t \b"));
assertEquals(null, StringUtils.trim(null));
}

// 去掉两端控制字符 跟 trim()方法是一个样的
@Test
public void test_trimToNull() {
// System.out.println(StringUtils.trim("  aa bb cc   \t"));
assertEquals(null, StringUtils.trimToNull("   "));
assertEquals("aa bb cc", StringUtils.trimToNull("   aa bb cc \t \b"));
assertEquals(null, StringUtils.trim(null));
}

// 去掉两端控制字符 跟 trim()方法是一个样的
@Test
public void test_trimToEmpty() {
// System.out.println(StringUtils.trim("  aa bb cc   \t"));
assertEquals("", StringUtils.trimToEmpty("  "));
assertEquals("aa bb cc", StringUtils.trimToEmpty("   aa bb cc \t \b"));
assertEquals(null, StringUtils.trim(null));
assertEquals("", StringUtils.trim(""));
}

// 去掉字符串两端的空白符
@Test
public void test_strip() {
assertEquals("aa bb cc", StringUtils.strip("  aa bb cc    \t    "));
}

@Test
public void test_stripToNull() {
assertEquals("aa bb cc",
StringUtils.stripToNull("  aa bb cc    \t    "));
assertEquals(null, StringUtils.stripToNull(""));
assertEquals(null, StringUtils.stripToNull(null));
}

@Test
public void test_stripToEmpty() {
assertEquals("aa bb cc", StringUtils.stripToEmpty("   aa bb cc "));
assertEquals("", StringUtils.stripToEmpty(null));
assertEquals("", StringUtils.stripToEmpty(""));
}

// 删除从结尾开始的小字符串
@Test
public void test_stripEnd() {
assertEquals("as", StringUtils.stripEnd("asdfghjkl", "dfghjkl"));
}

// 删除冲开头开始的小字符串
@Test
public void test_stripStart() {
assertEquals("kl", StringUtils.stripStart("asdfghjkl", "asdfghj"));
assertEquals("", StringUtils.stripStart("", ""));
assertEquals(null, StringUtils.stripStart(null, null));
}

//去掉每个元素开始和结尾的空格
@Test
public void test_stripAll() {
String[] temp1 = {"ads  ", " dsaf"};
String[] temp2 = {"ads", "dsaf"};
assertEquals("[ads, dsaf]", java.util.Arrays.toString(StringUtils.stripAll(temp1)));
System.out.println(java.util.Arrays.toString(StringUtils.stripAll(temp1)));
}

// 无论大小写,对面是否相等
@Test
public void test_equalsIgnoreCase() {
assertEquals(true, StringUtils.equalsIgnoreCase("aA", "aa"));
}

// 验证字符出现的第一个位置
@Test
public void test_indexOf() {
assertEquals(1, StringUtils.indexOf("assddss", "s"));
assertEquals(-1, StringUtils.indexOf("assddss", "2"));
assertEquals(-1, StringUtils.indexOf(null, "2"));
assertEquals(-1, StringUtils.indexOf("", "2"));
assertEquals(5, StringUtils.indexOf("assddss", "s", 4));
}

@Test
public void test_ordinalIndexOf() {
assertEquals(14, StringUtils.ordinalIndexOf("aabbccddeeffggaa", "a", 3));
}

@Test
public void test_contains() {
assertEquals(true, StringUtils.contains("aabbccddeeffgg", "bb"));
assertEquals(false, StringUtils.contains(null, ""));
assertEquals(true, StringUtils.contains("", ""));
assertEquals(false, StringUtils.contains("", null));
assertEquals(false, StringUtils.contains(null, null));
}

@Test
public void test_containsIgnoreCase() {
assertEquals(true, StringUtils.containsIgnoreCase("ASDFghjKL", "FGHJ"));
}

// 小字符串在大字符串中的第一个出现的位置
@Test
public void test_indexOfAny() {
assertEquals(2, StringUtils.indexOfAny("asdfghjkl", "dfg"));
}

// 小字符串不在大字符串中出现的第一个位置
@Test
public void test_indexOfAnyBut() {
assertEquals(0, StringUtils.indexOfAnyBut("asdfghjkl", "dfg"));
}

// 大字符串是否仅仅只包含小字符串中的内容
@Test
public void test_containsOnly() {
assertEquals(true, StringUtils.containsOnly("adsfasdfas", "asdf"));
}

// 大字符串中不包含小字符串的内容
@Test
public void test_containsNone() {
assertEquals(false, StringUtils.containsNone("as", "adsf"));
}

// 小字符串在大字符串中最后一次出现的位置
@Test
public void test_lastIndexOf() {
assertEquals(8, StringUtils.lastIndexOf("aabbccedaa", "aa"));
}

// 从规定的下标数开始截取字符串
@Test
public void test_substring() {
assertEquals("sdf", StringUtils.substring("asdfgh", 1, 4));
}

// 在大字符串中存在于小字符串过后的内容
@Test
public void test_substringAfter() {
assertEquals("hjkl", StringUtils.substringAfter("asdfghjkl", "sdfg"));
}

// 在大字符串中存在于小字符串之前的内容
@Test
public void test_substringBefore() {
assertEquals("a", StringUtils.substringBefore("asdfghjkl", "sdfg"));
}

// 在大字符串中存在于两个小字符转中的内容
@Test
public void test_substringBetween() {
assertEquals("sd", StringUtils.substringBetween("asdfgh", "a", "f"));
}

// 在最后一个tag字符串的后面的内容
@Test
public void test_substringAfterLast() {
assertEquals("bb", StringUtils.substringAfterLast("tagabctagbb", "tag"));
}

// 在最后一个tag字符串前面的内容
@Test
public void test_substringBeforeLast() {
assertEquals("tagaatagbb",
StringUtils.substringBeforeLast("tagaatagbbtagcc", "tag"));
}

// 输出多个字符串中间的内容
@Test
public void test_substringsBetween() {
System.out.println(StringUtils.substringsBetween("[a],[b],[c]", "[",
"]"));
}

// 在左边的第几个字符的内容
@Test
public void test_left() {
assertEquals("as", StringUtils.left("asdfg", 2));
assertEquals(null, StringUtils.left(null, 2));
}

// 对字符串右边第几个字符串的内容
@Test
public void test_right() {
assertEquals("fg", StringUtils.right("asdfg", 2));
}

// 省略字符串中的空格,然后用数组的形式输出
@Test
public void test_split() {
assertEquals("[aa, bb, cc]",
java.util.Arrays.toString(StringUtils.split("aa bb cc   ")));
}

// 将字符串中不用一类型的,所有字符分割开来
@Test
public void test_splitByCharacterType() {
assertEquals("[number, 5]", java.util.Arrays.toString(StringUtils
.splitByCharacterType("number5")));
}

// 规定分隔符
@Test
public void test_splitByWholeSeparator() {
assertEquals("[aa, bb, cc]", java.util.Arrays.toString(StringUtils
.splitByWholeSeparator("aa bb cc", " ")));
}

@Test
public void test_splitPreserveAllTokens() {
assertEquals("[, aa, bb, , ccdd]",
java.util.Arrays.toString(StringUtils
.splitPreserveAllTokens(" aa bb  ccdd")));
}

// 把字符数的内容变成字符串
@Test
public void test_join() {
assertEquals("abc", StringUtils.join(new String[] { "a", "b", "c" }));
}

// 删除字符串黄总所有的空白字符
@Test
public void test_deleteWhitespace() {
assertEquals("abc", StringUtils.deleteWhitespace("a\n   \fb   \rc"));
}

// 删除指定的字符
@Test
public void test_remove() {
assertEquals("abde", StringUtils.remove("abcde", "c"));
}

// 只能删除最后的一节字符串
@Test
public void test_removeEnd() {
assertEquals("abc", StringUtils.removeEnd("abcde", "de"));
assertEquals("abcde", StringUtils.removeEnd("abcde", "c"));
}

// 无论大小写删除最后一段字符
@Test
public void test_removeEndIgnoreCase() {
assertEquals("aBc", StringUtils.removeEndIgnoreCase("aBcDe", "de"));
}

@Test
public void test_removeStart() {
assertEquals("de", StringUtils.removeStart("abcde", "abc"));
}

@Test
public void test_removeStartIgnoreCase() {
assertEquals("CdE", StringUtils.removeStartIgnoreCase("AbCdE", "Ab"));
}

// 替换字符串中的指定字符
@Test
public void test_replace() {
assertEquals("adsfg", StringUtils.replace("asdfg", "sd", "ds"));
}

// 指定单个字符替换
@Test
public void test_replaceChars() {
assertEquals("bbcde", StringUtils.replaceChars("abcde", 'a', 'b'));
}

// 通过数组来一组替换
@Test
public void test_replaceEach() {
assertEquals("wcze", StringUtils.replaceEach("abcde", new String[] {
"ab", "d" }, new String[] { "w", "z" }));
}

// 只替换第一个找到的元素
@Test
public void test_replaceOnce() {
assertEquals("zbcad", StringUtils.replaceOnce("abcad", "a", "z"));
}

// 规定长度的替换规定的元素
@Test
public void test_overlay() {
assertEquals("attdd", StringUtils.overlay("aabbccdd", "tt", 1, 6));
}

// 删除最后一个以 \n \r \t 结尾的字符
@Test
public void test_chomp(){
System.out.println(StringUtils.chomp("\nASDF \n\r\n\r\n asdf\n"));
}

}

</div>
分享到:
评论

相关推荐

    StringUtils的各项用法

    《StringUtils的深度解析与应用》 在Java编程中,处理字符串是常见的任务,Apache Commons Lang库中的StringUtils类提供了...在实际项目中,灵活运用StringUtils的各种方法,无疑能为我们的程序增添一份专业和精细。

    java组件(DateUtils,EncryptUtil,StringUtils,WordEdit功能,ZipUtils,导出Excel,读写Excel文件)

    3. **StringUtils**: 字符串操作的工具类,提供了大量关于字符串的操作方法,如检查空字符串、替换子串、分割字符串、去除空白字符、驼峰命名转换等。这对于处理文本数据非常有用,避免了编写重复的代码。 4. **...

    StringUtils 从报文中取得数据

    在阅读《StringUtils 从报文中取得数据》这篇博客时,你可能会学到如何结合使用这些方法来解析复杂的报文数据,理解源码可以加深对工具类的理解,并能更好地应用到实际项目中。通过分析StringUtils 的源码,开发者...

    StringUtils 中文API

    下面将详细介绍该类中的各个方法及其功能。 ### 主要方法解析 #### 1. **IsEmpty/IsBlank** - **描述**:用于检查字符串是否为空或仅包含空白字符。 - **用法**: ```java StringUtils.isEmpty(String str); ...

    B4A - StringUtils.rar_android_b4a_basic_strings_utilities

    通过阅读"StringUtils.pdf"这份文档,开发者可以深入了解这些功能的用法和示例,从而更好地利用B4A的字符串处理工具。这不仅有助于编写更高效、简洁的代码,还可以提高程序的可读性和维护性。无论你是初学者还是有...

    StringUtils NumberUtils DateUtils

    StringUtils是处理字符串的工具类,它提供了大量的静态方法,帮助开发者执行各种字符串操作,如检查空值(isBlank, isEmpty)、比较(equals, equalsIgnoreCase)、替换(replace, replaceAll)、分割(split)和...

    定时任务cron 解析为中文.docx

    1. 解析月:使用`strEquals`方法将月的部分转换为"月"的中文描述。 2. 解析周:检查周的部分,如果不是通配符"*"或"?",则将每个字符转换为对应的星期枚举值(使用`WeekEnum`),并拼接成中文描述。 3. 解析日:如果...

    Python库 | stringutils-0.1.0-py2.py3-none-any.whl

    本资源是一个名为`stringutils`的Python库,版本为0.1.0,其封装了一系列处理字符串的实用方法。`stringutils-0.1.0-py2.py3-none-any.whl`是一个轮子文件(wheel file),它是Python的二进制包格式,旨在简化安装...

    Android常用工具类

    StringUtils提供了这些功能,例如`isEmpty()`可以检查字符串是否为空,`contains()`用于判断字符串是否包含某个子串,`join()`则可以将数组或集合元素连接成一个字符串。 4. **ToastUtils**: ToastUtils是控制...

    Android静默安装常用工具类

    源码可见StringUtils.java,更多方法及更详细参数介绍可见StringUtils Api Guide。 10、ParcelUtils Android Parcel工具类,可用于从parcel读取或写入特殊类型数据,如: readBoolean(Parcel in) 从pacel中读取...

    org.apache.commons.lang jar下载

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

    封装Android中10个常用的工具类

    - `StringUtils`:提供对字符串的各种操作,如格式化、拼接、检查空值、分割、替换等。 - `HtmlUtils`:处理HTML字符串,将HTML标签转换为纯文本或者解析HTML内容。 2. **日期时间工具类**: - `DateUtils`:...

    Java工具类、excel解析、CM API

    例如,Apache Commons Lang中的StringUtils类提供了丰富的字符串操作方法,如isEmpty()用于检查字符串是否为空,substringBetween()则能帮助我们找到两个特定子串之间的内容。Guava则提供了如Multimap、...

    Apache Commons常用类与方法介绍(案例分析-包含源代码)

    这个压缩包文件可能包含了关于 Apache Commons 中常用类和方法的案例分析及源代码,旨在帮助开发者更深入地理解和使用这些工具类。 首先,我们来看一下 Apache Commons 中的一些核心模块及其关键类: 1. **IO**: ...

    common-lang3.jar

    1. **字符串处理**:`StringUtils`类提供了大量的静态方法,用于字符串的检查、比较、格式化、转换等操作,如空格处理、字符串拼接、替换、截取等,极大地提高了代码的简洁性和可读性。 2. **数组操作**:`...

    org.apache.commons.lang包

    1. **API文档**:这是开发者的重要参考资料,详细解释了每个类和方法的功能、参数、返回值以及可能抛出的异常。通过阅读API文档,开发者可以快速了解如何使用这些工具类。 2. **源码**:源代码允许开发者深入理解库...

    Java常用工具类,字符串、日期、jdbc、xml解析等等

    - `StringUtils`(Apache Commons Lang):提供了一些额外的功能,如`isBlank()`, `isEmpty()`, `join()`, `reverse()`等。 2. **日期和时间工具**: - `Date`和`Calendar`:Java的基础日期时间类,但使用起来...

    commons-lang3.1.rar

    5. **新特性:代码生成**:`StringUtils.joinWithEscaping()`方法提供了自动转义功能,用于将数组元素加入字符串时,自动处理特殊字符,防止因特殊字符导致的解析问题。 6. **更完善的空值处理**:`isEmpty()`方法...

    ASP.NET字符串处理

    总的来说,`StringUtils`类提供了一套全面的字符串处理工具,涵盖了从生成随机字符串到处理HTML内容的各种需求,为ASP.NET开发者提供了极大的便利。在实际项目中,你可以根据具体需求扩展或调整这些方法,以满足更...

    C#封装的Utilities基础类库.rar

    `StringUtils`类可能提供这些功能,如`Format`方法进行字符串格式化,`Split`方法分割字符串,`Join`方法将字符串数组连接成一个字符串。 4. **验证码操作**:验证码通常用于防止机器人自动操作。可能有一个`...

Global site tag (gtag.js) - Google Analytics