在java中除去字符串(String)中的换行字符(\r \n \t)
我们先来看几个例子:
例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)的更多相关文章
- java中除去字符串(String)中的换行字符(\r \n)
有时在文本框中输入内容特别是粘贴内容时会出现一些换行符(\r\n),如下,在做字数验证或保存到数据库中时应过滤掉. str.replaceAll("\r|\n","&qu ...
- java中去除字符串(String)中的换行字符(\r \n \t)
例1: public class Test { public static void main(String[] args) { String s = "'sds gdasda" ...
- Java 处理json字符串value中多余的双引号
转: Java 处理json字符串value中多余的双引号 一.错误场景 json字符串的value值中有多余的双引号 1.直接上错误的json字符串 1 String errorJsonStr = ...
- LeetCode随缘刷题之Java经典面试题将一个字符串数组进行分组输出,每组中的字符串都由相同的字符组成
今天给大家分享一个Java经典的面试题,题目是这样的: 本题是LeetCode题库中的49题. 将一个字符串数组进行分组输出,每组中的字符串都由相同的字符组成 举个例子:输入["eat&qu ...
- Java 中的字符串(String)与C# 中字符串(string)的异同
1. C# 中比较两个字符串字面量是否相等,可以使用 “==”比较运算符,是因为string 类型重写(override)了“==” 和 “!=” 运算符,在使用“==” 和 “!=” 进行字符串比较 ...
- java中的字符串String
一.String简介d 参考:https://www.cnblogs.com/zhangyinhua/p/7689974.html String类代表字符串. java.lang.String: Ja ...
- Java中char和String 的深入理解 - 字符编码
开篇 https://blog.csdn.net/weixin_37703598/article/details/80679376 我们并不是在写代码,我们只是将自己的思想通过代码表达出来! 1 将思 ...
- C语言和C++中的字符串(string)
知识内容: 1.C\C++字符串简述 2.C字符串相关操作 3.C++ string类相关操作 一.C\C++字符串简述 1.C语言字符串 C语言字符串是字符的数组.单字节字符串顺序存放各个字符串,并 ...
- Redis字符串(STRING)中BIT相关命令
上篇文章我们对STRING数据类型中一些基本的命令进行了介绍,但是没有涉及到BIT相关的命令,本文我们就来看看几个和BIT相关的命令. 本文是Redis系列的第四篇文章,了解前面的文章有助于更好的理解 ...
随机推荐
- Excel OLE控制
来源:http://blog.csdn.net/chelen_jak/article/details/7069095 Delphi 控制Excel(一) 使用动态创建的方法 首先创建 Excel 对 ...
- leetcode-240搜索二维矩阵II
搜索二维矩阵II class Solution: def searchMatrix(self, matrix, target): """ :type matrix: Li ...
- php使用trait遇到的一个问题
php是单继承语言,也是就是一个类只能继承一个单独的原始类自PHP5.4.0起,PHP实现了一种代码复用的方法,称为Traittrait 是在一些类(Class)的应该具备的特定的属性或方法,而同父级 ...
- Python文件处理(txt、csv文件读取)
打开文件 使用Python内置的方法 open()可以打开文件 file object = open(file_name [, access_mode][, buffering]) file_name ...
- Leetcode 174.地下城游戏
地下城游戏 一些恶魔抓住了公主(P)并将她关在了地下城的右下角.地下城是由 M x N 个房间组成的二维网格.我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主. ...
- 在win10配置环境变量
从win7升级成win10后找不到在哪配置环境变量...手动再见ヾ( ̄▽ ̄)Bye~,废话不多说,下面开始图文模式: 1)打开文件资源管理器,点左上角的"计算机"
- 状态压缩DP总结
POJ1185 炮兵部队问题: 在平原上才能放置炮兵,每个炮兵的上下左右2格之内都不能出现别的炮兵 可以考虑在当前行放置炮兵它的右侧和下侧绝对不会出现炮兵即可,左侧和上侧就能省去考虑 明显的状态压缩d ...
- Python模块:shutil、序列化(json&pickle&shelve)、xml
shutil模块: 高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fscr,fdst [, length]) # 将文件内容拷贝到另一个文件中 import shu ...
- DBA的40条军规
DBA操作规范 1.涉及业务上的修改/删除数据,在得到业务方.CTO的邮件批准后方可执行,执行前提前做好备份,必要时可逆. 2.所有上线需求必须走工单系统,口头通知视为无效. 3.在对大表做表结构变更 ...
- 从零开始写STL—容器—vector
从0开始写STL-容器-vector vector又称为动态数组,那么动态体现在哪里?vector和一般的数组又有什么区别?vector中各个函数的实现原理是怎样的,我们怎样使用会更高效? 以上内容我 ...