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);
        }
  • 相关阅读:
    zuanwenzhang
    win32 打印机api
    错误码linux
    sed的一个知识点
    linux 修改时区
    赵鹏雁?、、
    Linux下模块编译错误
    Android加速度传感器实现“摇一摇”,带手机振动 .
    Android百度地图基础实现(标记+GPS) .
    Android 中 getApplicationContext()、this、getApplication()之间的区别 .
  • 原文地址:https://www.cnblogs.com/ghgyj/p/3943954.html
Copyright © 2011-2022 走看看