例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. UVA11093-Just Finish it up(思维)

    Problem UVA11093-Just Finish it up Accept: 1225  Submit: 5637Time Limit: 3000 mSec Problem Descripti ...

  2. eclipse新建maven web项目

    使用eclipse版本如下,已集成了Maven,只需要配置下即可 一.下载eclipse,解压安装 二.下载maven,解压安装 三.修改${maven_home}/config/settings.x ...

  3. c++面经积累<1>

    引用和指针 指针是一个实体,需要分配内存空间,而引用只是一个别名,不需要分配内存空间 指针可以有多级,而引用只能有一级. 指针和引用的自增运算不一样,指针是指向下一个空间,而引用是引用的变量值增加 s ...

  4. object detection[SSD]

    0. 背景 经过了rcnn,spp,fast rcnn, faster rcnn,yolo,这里又到了ssd模型. faster rcnn的贡献是将候选框区域提取的部分也集成到CNN中去,并且与对象的 ...

  5. phpstorm 免费激活码

    打开网址 http://idea.lanyus.com/ 选择获取注册码,复制生成的验证码 安装完成后,打开软件,依次选择菜单栏 Help -> Register-> Activation ...

  6. echarts 图例显示到右边

    原: legend: { data:['同龄普通孩子','已具备技能','已泛化技能','已掌握技能','学习中'] }, 改: legend: { data:['同龄普通孩子','已具备技能','已 ...

  7. 【愚人节快乐】拥抱Bootstrap,FineUI新版效果超炫!

    鉴于 Bootstrap 备受欢迎,我们决定用 Bootstrap 完全替换掉 jQuery,得到了更加漂亮的界面,先睹为快: 注:网页背景图片来自百度网盘,版权归百度所有! 详情:http://fi ...

  8. 这20个Docker Command,有几个是你会的?

    在这之前呢,也写过两篇关于Docker基础入门类的文章 Docker容器技术入门(一) Docker容器技术入门(二) 很多人都感觉这文章这么简单.这么基础,可是别忘记了"万丈高楼平地起&q ...

  9. Python股票分析系列——数据整理和绘制.p2

    该系列视频已经搬运至bilibili: 点击查看 欢迎来到Python for Finance教程系列的第2部分. 在本教程中,我们将利用我们的股票数据进一步分解一些基本的数据操作和可视化. 我们将要 ...

  10. Flask的蓝图和红图

    1.蓝图 对于简单的项目来说,比如项目就只有一个user模块,我们可以都将视图函数定义在一个文件里面,不需要用到蓝图. 但是如果我们的项目有多个模块,如下有v1模块,v2模块.....等,那么如果我们 ...