美文网首页
[JAVA基础篇22]—去掉字符串中的回车、换行、制表符

[JAVA基础篇22]—去掉字符串中的回车、换行、制表符

作者: 小胖学编程 | 来源:发表于2020-10-13 11:55 被阅读0次

    若一个字符串存在\n(换行)\r(回车)\t(制表)符。那么即使相同内容的字符串(不含特殊符号),他们的equals方法也会不同。这就要求我们移除这些特殊符号。

    
    /**
     * 测试移除代码中的换行符
     */
    public class TestReturn {
    
        public static void main(String[] args) {
            String s1 = "i am china\n\r";
            String s2 = "i am china";
    
            //移除
    
            Info info1 = new Info();
            info1.setName(removeRNT(s1)+"a");
            Info info2 = new Info();
            info2.setName(s2+"a");
            System.out.println(info1.getName());
            System.out.println(info2.getName());
    
            System.out.println(info1.getName().equals(info2.getName()));
        }
    
    
        @Data
        public static class Info {
            private String name;
        }
    
    
        /**
         * 在正则表达式中\s表示所有的空格:    匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符。
         * 使用正则表达式,移除换行符(且不移除空格)
         *
         * @param originalStr 原始字符串
         * @return 移除换行\r、回车\n、制表\t符的字符串
         */
        public static String removeRNT(String originalStr) {
            if (originalStr == null || originalStr.isEmpty()) {
                return originalStr;
            }
            return originalStr.replaceAll("[\t\n\r]","");
        }
    
        /**
         * 移除字符串中所有的空白格(包含换行\r、回车\n、制表\t符)
         *
         * @param str 原始串
         * @return 无空格后的串
         */
        public static String trimAllWhitespace(String str) {
            if (str == null || str.isEmpty()) {
                return str;
            }
            int len = str.length();
            StringBuilder sb = new StringBuilder(str.length());
            for (int i = 0; i < len; i++) {
                char c = str.charAt(i);
                if (!Character.isWhitespace(c)) {
                    sb.append(c);
                }
            }
            return sb.toString();
        }
    
    }
    

    移除特殊符号的时候,可以使用正则表达式,但是也要注意,不要把正常的空格符给移除。

    相关文章

      网友评论

          本文标题:[JAVA基础篇22]—去掉字符串中的回车、换行、制表符

          本文链接:https://www.haomeiwen.com/subject/pghvpktx.html