在java中除去字符串(String)中的换行字符(\r \n \t)
2011-08-25 13:58
393 查看
我们先来看几个例子:
例1:
publicclassTest{
publicstaticvoidmain(String[]args){
Strings="'sdsgdasda"+"\n"+"edaeafd'";
System.out.println("转换前:"+s);
s=s.replaceAll("\r|\n","");
System.out.println("转换后:"+s);
}
}
输出结果:
转换前:'sdsgdasda
edaeafd'
转换后:'sdsgdasdaedaeafd'
在看一个实例:
例2:
System.out.println("\\r输出:"+"abc"+"\r"+"abc");
System.out.println("\\n输出:"+"abc"+"\n"+"abc");
以上两句在控制台输出的格式是一样的:
\r输出:abc
abc
\r输出:abc
abc
那么是不是说\r与\n是不是相等的呢?
例3:
publicclassTest{
publicstaticvoidmain(String[]args){
Strings="'sdsgdasda"+"\n"+"edaeafd'";
System.out.println("转换前:"+s);
s=s.replaceAll("\r","");
System.out.println("转换后:"+s);
}
}
转换前:'sdsgdasda
edaeafd'
转换后:'sdsgdasda
edaeafd'
输出结果可以看出\r和\n啊hi不相等的。
那么他们有什么区别呢?
例4:
publicclassTest{
publicstaticvoidmain(String[]args){
Strings="'sdsgdasda"+"\n\r"+"edaeafd'";
System.out.println("转换前:"+s);
s=s.replaceAll("\r|\n","");
System.out.println("转换后:"+s);
}
}
输出结果:
转换前:'sdsgdasda
edaeafd'
转换后:'sdsgdasdaedaeafd'
可以看出\r表示回车,\n表示另起一行(\r叫回车CarriageReturn;\n叫新行NewLine)
我们可以在所一个实验:
例5:
publicclassTest{
publicstaticvoidmain(String[]args){
Strings="'sdsgdasda"+"\r\n"+"edaeafd'";
System.out.println("转换前:"+s);
s=s.replaceAll("\r|\n","");
System.out.println("转换后:"+s);
}
}
输出结果:
转换前:'sdsgdasda
edaeafd'
转换后:'sdsgdasdaedaeafd'
在
例4到例5中我们只是把字符串s的\n\r的位置改变成了\r\n,却发现例4输出结果中多了一行空格。
至于为什么例4和例5输出会有这样的区别也就是\r\n与\n\r的区别,这是网上的一个比较好的答案:
关于\t它相当于按了一下Tab键。
例1:
publicclassTest{
publicstaticvoidmain(String[]args){
Strings="'sdsgdasda"+"\n"+"edaeafd'";
System.out.println("转换前:"+s);
s=s.replaceAll("\r|\n","");
System.out.println("转换后:"+s);
}
}
输出结果:
转换前:'sdsgdasda
edaeafd'
转换后:'sdsgdasdaedaeafd'
在看一个实例:
例2:
System.out.println("\\r输出:"+"abc"+"\r"+"abc");
System.out.println("\\n输出:"+"abc"+"\n"+"abc");
以上两句在控制台输出的格式是一样的:
\r输出:abc
abc
\r输出:abc
abc
那么是不是说\r与\n是不是相等的呢?
例3:
publicclassTest{
publicstaticvoidmain(String[]args){
Strings="'sdsgdasda"+"\n"+"edaeafd'";
System.out.println("转换前:"+s);
s=s.replaceAll("\r","");
System.out.println("转换后:"+s);
}
}
转换前:'sdsgdasda
edaeafd'
转换后:'sdsgdasda
edaeafd'
输出结果可以看出\r和\n啊hi不相等的。
那么他们有什么区别呢?
例4:
publicclassTest{
publicstaticvoidmain(String[]args){
Strings="'sdsgdasda"+"\n\r"+"edaeafd'";
System.out.println("转换前:"+s);
s=s.replaceAll("\r|\n","");
System.out.println("转换后:"+s);
}
}
输出结果:
转换前:'sdsgdasda
edaeafd'
转换后:'sdsgdasdaedaeafd'
可以看出\r表示回车,\n表示另起一行(\r叫回车CarriageReturn;\n叫新行NewLine)
我们可以在所一个实验:
例5:
publicclassTest{
publicstaticvoidmain(String[]args){
Strings="'sdsgdasda"+"\r\n"+"edaeafd'";
System.out.println("转换前:"+s);
s=s.replaceAll("\r|\n","");
System.out.println("转换后:"+s);
}
}
输出结果:
转换前:'sdsgdasda
edaeafd'
转换后:'sdsgdasdaedaeafd'
在
例4到例5中我们只是把字符串s的\n\r的位置改变成了\r\n,却发现例4输出结果中多了一行空格。
至于为什么例4和例5输出会有这样的区别也就是\r\n与\n\r的区别,这是网上的一个比较好的答案:
enter+newlinewithdifferentplatforms:
windows:\r\n
mac:\r
unix/linux:\n
in"abc"+”\n\rdef”,\n\rdonotmatchanyplatform,soitisconsideredas\nand\r(whichmatchunix/linuxandmac),sotherearetwonewlines.
in"abc"+”\r\ndef”\r\nmatchesthewindowsplatform,soitisconsideredasonlyonenewline.
scimcrushed,sojustEnglish.
关于\t它相当于按了一下Tab键。
相关文章推荐
- java中除去字符串(String)中的换行字符(\r \n)
- java中除去字符串(String)中的换行字符(\r \n)
- 在java中除去字符串(String)中的换行字符(\r \n \t)
- java中除去字符串(String)中的换行字符(\r \n)
- java中除去字符串(String)中的换行字符(\r \n)
- Java:布尔值,字符范围,字符串声明,换行操作,常量定义与c语言的不同
- java格式化字符串,在指定位置插入指定字符串,兼容中英文以及特殊字符,例如:换行,用于解决生成pdf换行问题等问题
- 问题1:java中没有实现这种“byte a = 0xB2 --> String b = “B2””转换的简单实现需要自己实现。 答:自己编写的转换函数,思路将byte的高低4位分开,分别转换为对应的字符然后合成返回的字符串。 java 代码 1.
- java.sql.Exception:setString 只能处理少于 32766 个字符的字符串
- java,andoid安卓去掉替换字符串中的空字符空格换行等
- Java String字符串和Unicode字符相互转换代码
- JavaString练习2:对字符串中字符进行自然顺序排序
- java编程---3.1 (关于String的练习题) 将字符串中的字符按需求等分,例如:把aqzxswerdcvfr变成AQZX-SWER-DCVF-R
- java 判断固定的中文字符串 判断字符串中是否包含固定的中文字符 String.indexOf(中文)
- java.sql.Exception:setString 只能处理少于 32766 个字符的字符串
- Java-基础 String操作删除字符串中的一个字符(字符串切割)
- java 字符串中除去字符 例如:空格,回车等
- 统计某java文件中的代码行数、某个字符(char)、某字符串(String)出现的次数
- PHP学习笔记--字符串操作 作者:yezi33 字符串的整理: trim():除去字符串开头和末尾的空格或其他字符。函数执行成功时返回删除了string字符串首部和尾部空格的字符串,发生错误时返回空
- java编程---3.3 (关于String/for的练习题) 提取字符串中连续相同的字符,例如:把aabbaaccbbbm变成2a2b2a2c3bm