我们先来看几个例子:

例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. Python之模块和包导入

    Python之模块和包导入 模块导入: 1.创建名称空间,用来存放模块XX.py中定义的名字 2.基于创建的名称空间来执行XX.py. 3.创建名字XX.py指向该名称空间,XX.名字的操作,都是以X ...

  2. Hadoop安装与配置

    Hadoop介绍 上面是官方介绍,翻一下来总结一句话就是:Hadoop是一个高可用,用于分布式处理大规模计算的工具. Hadoop1.2 下载 . Hadoop1.2 安装 1. 安装jDK 2. 配 ...

  3. 第七章习题G题

    题意 给出如图案例,要你从某一点开始走,一直走到极限(即无法再进行扩展),这时你走过的点会连成一个数,不同的走法当然会有不同的数,要求是输出最大的数(注意每个方块走过一次就不能再走) 思路 •1.枚举 ...

  4. CSS实现折叠面板

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  5. idea 修改Git密码和账号方法

    IDEA修改git账号及密码的方法: 1.file->settings->passwords 2.重启IDEA 3.执行一次提交或更新 当执行提交或更新之后,idea会自动提示输入账号.密 ...

  6. BNUOJ 6719 Simpsons’ Hidden Talents

    Simpsons’ Hidden Talents Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU ...

  7. NYOJ-476谁是英雄,分解质因子求约数个数!

    谁是英雄 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 十个数学家(编号0-9)乘气球飞行在太平洋上空.当横越赤道时,他们决定庆祝一下这一壮举.于是他们开了一瓶香槟.不 ...

  8. Codeforces Beta Round #85 (Div. 1 Only) C (状态压缩或是数学?)

    C. Petya and Spiders Little Petya loves training spiders. Petya has a board n × m in size. Each cell ...

  9. codevs1128 导弹拦截

    题目描述 Description 经过11 年的韬光养晦,某国研发出了一种新的导弹拦截系统,凡是与它的距离不超过其工作半径的导弹都能够被它成功拦截.当工作半径为0 时,则能够拦截与它位置恰好相同的导弹 ...

  10. Ubuntu12.04之修改密码

    Ubuntu 12.04 默认root没有密码 修改密码方式如下: test@localhost:~$ sudo passwd root [sudo] password for test: 输入新的 ...