zoukankan      html  css  js  c++  java
  • spring框架中一个跟String的trim方法一样的方法

        @Test
        public void testTrimWhitespace() throws Exception {
            assertEquals(null, StringUtils.trimWhitespace(null));
            assertEquals("", StringUtils.trimWhitespace(""));
            assertEquals("", StringUtils.trimWhitespace(" "));
            assertEquals("", StringUtils.trimWhitespace("	"));
            assertEquals("a", StringUtils.trimWhitespace(" a"));
            assertEquals("a", StringUtils.trimWhitespace("a "));
            assertEquals("a", StringUtils.trimWhitespace(" a "));
            assertEquals("a b", StringUtils.trimWhitespace(" a b "));
            assertEquals("a b  c", StringUtils.trimWhitespace(" a b  c "));
            assertEquals("a b  c", StringUtils.trimWhitespace("
    f
     a b  c 	"));
            
        }

    可以看到这个方法可以处理

     回车(u000a)   
    水平制表符(u0009)
    换行(u000d)
    f 换页(u000c)

    其实跟java的String方法的trim可以实现一样的功能

        /**
         * Trim leading and trailing whitespace from the given String.
         * @param str the String to check
         * @return the trimmed String
         * @see java.lang.Character#isWhitespace
         */
        public static String trimWhitespace(String str) {
            if (!hasLength(str)) {
                return str;
            }
            StringBuilder sb = new StringBuilder(str);
            while (sb.length() > 0 && Character.isWhitespace(sb.charAt(0))) {
                sb.deleteCharAt(0);
            }
            while (sb.length() > 0 && Character.isWhitespace(sb.charAt(sb.length() - 1))) {
                sb.deleteCharAt(sb.length() - 1);
            }
            return sb.toString();
        }
        /**
         * Check that the given String is neither {@code null} nor of length 0.
         * Note: Will return {@code true} for a String that purely consists of whitespace.
         * @param str the String to check (may be {@code null})
         * @return {@code true} if the String is not null and has length
         * @see #hasLength(CharSequence)
         */
        public static boolean hasLength(String str) {
            return hasLength((CharSequence) str);
        }
        /**
         * Check that the given CharSequence is neither {@code null} nor of length 0.
         * Note: Will return {@code true} for a CharSequence that purely consists of whitespace.
         * <p><pre class="code">
         * StringUtils.hasLength(null) = false
         * StringUtils.hasLength("") = false
         * StringUtils.hasLength(" ") = true
         * StringUtils.hasLength("Hello") = true
         * </pre>
         * @param str the CharSequence to check (may be {@code null})
         * @return {@code true} if the CharSequence is not null and has length
         * @see #hasText(String)
         */
        public static boolean hasLength(CharSequence str) {
            return (str != null && str.length() > 0);
        }
  • 相关阅读:
    P2617 Dynamic Rankings[带修主席树(模板)]
    P2617 Dynamic Rankings[带修主席树(模板)]
    P4127 [AHOI2009]同类分布
    P4127 [AHOI2009]同类分布
    P4550 收集邮票 [期望dp]
    P4550 收集邮票 [期望dp]
    P3168 [CQOI2015]任务查询系统
    蓝桥杯 2的次幂表示 递归
    蓝桥杯 最大的算式 dp
    蓝桥杯 未名湖边的烦恼 递推 dp
  • 原文地址:https://www.cnblogs.com/ghgyj/p/3943954.html
Copyright © 2011-2022 走看看