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

399 篇文章 12 订阅

这些是个人,为了加强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"));
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值