例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:

public class Test2 {
public static void main(String[] args) {
System.out.println("\\r 输出:"+"abc"+"\r"+"abc");
System.out.println("\\n输出:"+"abc"+"\n"+"abc");
}
}

输出结果:
\r 输出:abc
abc
\n输出:abc
abc

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

例3:

public class Test3 {
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'

经过s.replaceAll("\r", ""),\n并没有被替换成空,说明\n和\r是不相等的

例4:

public class Test4 {
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 Test5 {
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的区别,这是网上的一个比较好的答案:

不同平台的回车+换行
windows: \r\n
mac: \r
unix/linux: \n

在"abc"+"\n\rdef"中,\n\r不匹配任何平台,因此它被认为是\n和\r(匹配unix/linux和mac),即进行了"换行+回车"操作,所以有两个新行。
在"abc"+"\r\ndef"中,\r\n匹配Windows平台,因此它被认为只是一个新的行。

本文转载自https://blog.csdn.net/y13530828499/article/details/6718206

若有侵权,请联系本人删除

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

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

    我们先来看几个例子: 例1: public class Test { public static void main(String[] args) { String s = "'sds gd ...

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

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

  3. PHP中去除字符串中的换行的方法

    在PHP中,有时候我们需要对字符串的换行进行过滤,比如天涯PHP博客中文章页面的description信息,我是直接截取的文章内容,并过滤掉html符号,最终还要过滤掉其中的换行.下面整理一下常见的去 ...

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

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

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

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

  6. Python中去除字符串中的单个或多个空格的方法总结

    python中去除字符串中空格的方法比较多,单个看起来也都比较简单 但是使用起来容易发生混淆 为了加深记忆 将常用的去除字符串中空格的方法汇总如下 方法一:strip()方法 >>> ...

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

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

  8. java中的字符串String

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

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

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

随机推荐

  1. Java锁的种类以及辨析(二):自旋锁的其他种类

    作者:山鸡 锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) .这些已经写好提供的锁为我们开发提供了便利,但是锁的具 ...

  2. 6.03-news_xpath2

    import re import requests # 安装支持 解析html和XML的解析库 lxml # pip install lxml from lxml import etree url = ...

  3. centos7下安装docker(15.1跨主机网络)

    之前学习了单个host上的网络,我们知道单个host上的网络有:none,host,bridge和joined,他们解决了单个host上面的容器通信的问题:接下来我们讨论跨主机间容器通信的方案 跨主机 ...

  4. go标准库的学习-os

    参考https://studygolang.com/pkgdoc 导入方式: import "os" os包提供了操作系统函数的不依赖平台的接口 一开始简单举个例子: packag ...

  5. Python 在 Terminal 中的自动补全

    为了在 Terminal 中使用 Python 更加方便,在 home 目录下添加脚本 .pythonstartup,内容如下, 然后在 .bashrc 中添加 export PYTHONSTARTU ...

  6. 多线程爬虫爬取详情页HTML

    注意:如果想爬取详情页的信息请按须添加方法 import requests import os import re import threading from lxml import etree #爬 ...

  7. Linux IO性能分析blktrace/blk跟踪器

    关键词:blktrace.blk tracer.blkparse.block traceevents.BIO. 本章只做一个记录,关于优化Block层IO性能方法工具. 对Block层没有详细分析,对 ...

  8. JSOUP如何优秀的下载JPEG等二进制图像

    引言 JSOUP默认是不支持解析JPEG等二进制图像的,解决方法也很简单,只需要加上Jsoup.ignoreContentType(true)这一行代码就可以.关于这一点的原因,来看看官方API说明. ...

  9. Spring+Struts2+Hibernate框架整合流程

    一:基本步骤 新建Maven项目,导入相关依赖(推荐) 在WEB-INF的web.xml中进行配置 ————–Hibernate配置 —————- 创建entity包,创建数据库相关实体类 根据实体类 ...

  10. System.IO.Pipelines: .NET高性能IO

    System.IO.Pipelines是一个新的库,旨在简化在.NET中执行高性能IO的过程.它是一个依赖.NET Standard的库,适用于所有.NET实现. Pipelines诞生于.NET C ...