java字符串常量换⾏_在java中除去字符串(String)中的换⾏
字符(rnt)
我们先来看⼏个例⼦:
例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:
replaceall()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
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键。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。