我们先来看几个例子:

例1:

public class Test {

public static void main(String[] args) {

String s = "'sds gdasda" + "\n" + "edaeafd'";
  System.out.println("转换前:"+s);

s = s.replaceAll("\r|\n", "");

System.out.println("转换后:"+s);
  }
}
 输出结果:

转换前:'sds gdasda
edaeafd'
转换后:'sds gdasdaedaeafd'

在看一个实例:

例2:

System.out.println("\\r 输出:"+"abc"+"\r"+"abc");
  System.out.println("\\n输出:"+"abc"+"\n"+"abc");

以上两句在控制台输出的格式是一样的:

\r输出:abc
abc
\r输出:abc
abc

那么是不是说\r与\n是不是相等的呢?

例3:

public class Test {

public static void main(String[] args) {

String s = "'sds gdasda" + "\n" + "edaeafd'";
  System.out.println("转换前:"+s);

s = s.replaceAll("\r", "");

System.out.println("转换后:"+s);
  }
}

转换前:'sds gdasda
edaeafd'
转换后:'sds gdasda
edaeafd'

输出结果可以看出\r和\n啊hi不相等的。

那么他们有什么区别呢?

例4:

public class Test {

public static void main(String[] args) {

String s = "'sds gdasda" + "\n\r" + "edaeafd'";

System.out.println("转换前:"+s);

s = s.replaceAll("\r|\n", "");

System.out.println("转换后:"+s);
  }
}

输出结果:

转换前:'sds gdasda

edaeafd'
转换后:'sds gdasdaedaeafd'

可以看出\r表示回车,\n表示另起一行(\r 叫回车 Carriage Return  ;\n 叫新行 New Line)

我们可以在所一个实验:

例5:

public class Test {

public static void main(String[] args) {

String s = "'sds gdasda" + "\r\n" + "edaeafd'";

System.out.println("转换前:"+s);

s = s.replaceAll("\r|\n", "");

System.out.println("转换后:"+s);
  }
}

输出结果:

转换前:'sds gdasda
edaeafd'
转换后:'sds gdasdaedaeafd'

在

例4到例5中我们只是把字符串s的\n\r的位置改变成了\r\n,却发现例4输出结果中多了一行空格。

至于为什么例4和例5输出会有这样的区别也就是\r\n与\n\r的区别,这是网上的一个比较好的答案:

enter+newline with different platforms:
windows:   \r\n
mac:           \r
unix/linux:  \n
 
in "abc" + ”\n\rdef”, \n\r   do not match any platform,so it is considered as \n and \r  (which match unix/linux  and mac),so there are two new lines.
in  "abc" + ”\r\ndef”   \r\n matches the windows platform,so it is considered as only one new line.
scim crushed, so just English.
 

关于\t 它相当于按了一下Tab键。

在java中除去字符串(String)中的换行字符(\r \n \t)的更多相关文章

  1. java中除去字符串(String)中的换行字符(\r \n)

    有时在文本框中输入内容特别是粘贴内容时会出现一些换行符(\r\n),如下,在做字数验证或保存到数据库中时应过滤掉. str.replaceAll("\r|\n","&qu ...

  2. java中去除字符串(String)中的换行字符(\r \n \t)

    例1: public class Test { public static void main(String[] args) { String s = "'sds gdasda" ...

  3. Java 处理json字符串value中多余的双引号

    转: Java 处理json字符串value中多余的双引号 一.错误场景 json字符串的value值中有多余的双引号 1.直接上错误的json字符串 1 String errorJsonStr =  ...

  4. LeetCode随缘刷题之Java经典面试题将一个字符串数组进行分组输出,每组中的字符串都由相同的字符组成

    今天给大家分享一个Java经典的面试题,题目是这样的: 本题是LeetCode题库中的49题. 将一个字符串数组进行分组输出,每组中的字符串都由相同的字符组成 举个例子:输入["eat&qu ...

  5. Java 中的字符串(String)与C# 中字符串(string)的异同

    1. C# 中比较两个字符串字面量是否相等,可以使用 “==”比较运算符,是因为string 类型重写(override)了“==” 和 “!=” 运算符,在使用“==” 和 “!=” 进行字符串比较 ...

  6. java中的字符串String

    一.String简介d 参考:https://www.cnblogs.com/zhangyinhua/p/7689974.html String类代表字符串. java.lang.String: Ja ...

  7. Java中char和String 的深入理解 - 字符编码

    开篇 https://blog.csdn.net/weixin_37703598/article/details/80679376 我们并不是在写代码,我们只是将自己的思想通过代码表达出来! 1 将思 ...

  8. C语言和C++中的字符串(string)

    知识内容: 1.C\C++字符串简述 2.C字符串相关操作 3.C++ string类相关操作 一.C\C++字符串简述 1.C语言字符串 C语言字符串是字符的数组.单字节字符串顺序存放各个字符串,并 ...

  9. Redis字符串(STRING)中BIT相关命令

    上篇文章我们对STRING数据类型中一些基本的命令进行了介绍,但是没有涉及到BIT相关的命令,本文我们就来看看几个和BIT相关的命令. 本文是Redis系列的第四篇文章,了解前面的文章有助于更好的理解 ...

随机推荐

  1. 笔试算法题(19):判断两条单向链表的公共节点 & 字符集删除函数

    出题:给定两个单向链表的头结点,判断其是否有公共节点并确定第一个公共节点的索引: 分析: 由于是单向链表,所以每个节点有且仅有一个后续节点,所以只可能是Y型交叉(每条链表中的某个节点同时指向一个公共节 ...

  2. mysql性能优化工具mysqltuner使用

    1.下载:wget --no-check-certificate https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysq ...

  3. LNMP中PHP服务的配置

    PHP(Hypertxt Preprocessor,超文本预处理器)是一种通用的开源脚本语言,发明于1995年,它吸取了C语言.Java语言及Perl语言的很多优点,具有开源.免费.快捷.跨平台性强. ...

  4. nginx+redis安装配置(内存型数据库)实现session的共享

    注意:借鉴原文章:http://www.cnblogs.com/roy-blog/p/7196054.html 感兴趣的可以加一下481845043 java交流群,共同进步. 1 session的概 ...

  5. ubuntu 14.04上源码编译安装php7

    wget https://downloads.php.net/~ab/php-7.0.0alpha2.tar.bz2 //用winscp把下载好的文件上传到网站中 tar jxf php-7.0.0a ...

  6. (十)python3 生成器

    生成器(generator):在 Python 中,不必创建完整的 list,从而节省大量的空间.一边循环一边计算的机制. 创建一个 generator,有很多种方法.第一种方法很简单,只要把一个列表 ...

  7. Caused by: java.io.IOException: 您的主机中的软件中止了一个已建立的连接。

    异常详情 2017-07-16 10:55:26,218 ERROR [500.jsp] - java.io.IOException: 你的主机中的软件中止了一个已建立的连接. org.apache. ...

  8. [bzoj3531][Sdoi2014][旅行] (主席树+树链剖分)

    Description S国有N个城市,编号从1到N.城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市.每个城市信仰不同的宗教,如飞天面条神教.隐形独角兽教.绝地教都是常见的信仰. ...

  9. web前端开发——HTML

    一.简介 1.发展史 (1)web1.0 时代 产物:网页制作 那时的网页主要是静态网页,即没有与用户交互,仅仅是提供信息浏览的网页.如QQ日志.博文等. 网页制作三剑客:Dreamweaver+Fi ...

  10. 学习使用windows下类似iptables的防火墙软件

    项目地址:http://wipfw.sourceforge.net一.下载地址:http://sourceforge.net/projects/wipfw/files/安装:解压软件包后执行insta ...