一、\n\r\t\f 是什么意思
1. \n 换行符,使光标定位到下一行
public class Test {
public static void main(String[] args) {
System.out.print("aaaaaaaaaaaaa\nbbbb");
}
}
结果:
2. \r 回车符,使光标回到当前行的行首。如果之前该行有内容,则会被覆盖;
public class Test {
public static void main(String[] args) {
System.out.println("hello world\r12345");
}
}
结果:
说明:
在这里,看起来就像是之前输出的hello world被清空后,又输出1234一样。
然而在控制台中它的输出结果就是我们预期的结果:
至于什么原因,应该和编译器有关吧。
3. \t 是制表符。相当于tab缩进。
补足空格使得你输出的内容为4的倍数
public class Test {
public static void main(String[] args) {
System.out.println("a\t*");
System.out.println("123412341234");
System.out.println("aaa\t*");
System.out.println("123412341234");
System.out.println("aaaa\t*");
System.out.println("123412341234");
System.out.println("aaaaa\t*");
System.out.println("123412341234");
}
}
结果:
4. \f 是换页符,在控制台上输出没有意义。
public class Test {
public static void main(String[] args) {
System.out.println("aaaa\fbbbb");
}
}
结果:
二、将带有这些分隔符的文本转为 List
public class Test{
public static void main(String[] args){
String content = "a b\tc\nd\re\ff,g";
//取字段值(可接受的分割符有空格、制表符、换行符、回车符、换页符、英文逗号)
StringTokenizer st = new StringTokenizer(content, " \t\n\r\f,");
List<String> values = new ArrayList<String>();
while (st.hasMoreElements()) {
String value = st.nextToken();
if(StrUtil.isNotBlank(value)){
values.add(value.toUpperCase());
}
}
System.out.println(values);
}
}
结果:
参考: