我们先来看几个例子:

例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. 笔试算法题(47):简介 - B树 & B+树 & B*树

    B树(B-Tree) 1970年由R. Bayer和E. Mccreight提出的一种适用于外查找的树,一种由BST推广到多叉查找的平衡查找树,由于磁盘的操作速度远小于存储器的读写速度,所以要求在尽量 ...

  2. 【转】Delphi 文件拖放

    转自:万一的博客. 原理分析: 这需要用到 ShellAPI 单元的两个函数: DragAcceptFiles.DragQueryFile; 用 DragAcceptFiles(窗口句柄, True) ...

  3. 测试Mysql悲观锁

  4. python链家网高并发异步爬虫and异步存入数据

    python链家网二手房异步IO爬虫,使用asyncio.aiohttp和aiomysql 很多小伙伴初学python时都会学习到爬虫,刚入门时会使用requests.urllib这些同步的库进行单线 ...

  5. 调试24L01经验总结

    注意的地方: 1.调试24L01的时候,信号的初始状态一定要设置,否则在设置模块的状态的时候容易出错.( CE=0; CSN=1; SCK=0; MOSI = 1; IRQ = 1;)IRQ设置成1是 ...

  6. private关键字

    Student.java /* * 学生类 * * 通过对象直接访问成员变量,会存在数据安全问题 * 这个时候,我们就想能不能不让外界对象直接访问成员变量呢? * 答案:能 * 如何实现呢? * pr ...

  7. 关于c# .net爬虫

    刚开始听到爬虫这两个字眼的时候感觉挺稀奇的,之前并没有接触过爬虫,正好这会手上没事,于是便百度了一下. 1.网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种 ...

  8. STM32F407 跑马灯 寄存器版 个人笔记

    更多原理请参考跑马灯 库函数版 个人笔记 步骤 使能IO口时钟.配置相关寄存器寄存器RCC->AHB1ENR 初始化IO口模式.配置四个配置寄存器 GPIOx_MODER/ GPIOx_OTYP ...

  9. java中检测-在运行时指定对象是否是特定类的一个实例---关键字 instanceof

    java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. if(requ ...

  10. 计算1+2+...+100之和<for循环的学习>

    #include <stdio.h> /* 计算1+2+....+100 soulsjie 20170525 */ void main(){ int i; int s=0; for(i=0 ...