bar*_*nus 1 java string split newline
我试图在这个文件eng-pol.txt中用新的符号"\n" 分割线条而且它根本不起作用......我试过了:
String[] words = strLine.split("\n");
System.out.println(Arrays.toString(words));
[abbot abbot [?æb?t] <N>\n opat]
String[] words = strLine.split("\\n");
System.out.println(Arrays.toString(words));
[abbot abbot [?æb?t] <N>\n opat]
String[] words = strLine.split("\\r|\r");
System.out.println(Arrays.toString(words));
[abbot abbot [?æb?t] <N>\n opat]
Run Code Online (Sandbox Code Playgroud)
即使这样:
String[] words = strLine.split(System.getProperty("line.separator"));
System.out.println(Arrays.toString(words));
[abbot abbot [?æb?t] <N>\n opat]
Run Code Online (Sandbox Code Playgroud)
我正在使用BufferedReader和readLine方法读取文件.
我不确定我是否理解正确,但我发现你的文件包含\n文字(不是实际的换行符).如果你想拆分它们,那么你需要写分割为
split("\\\\n")
Run Code Online (Sandbox Code Playgroud)
表示\文字的正则表达式\\(它需要被转义,否则单个\将被视为预定义字符类的开头,如\d表示数字).
但是代表这种正则表达式的String \\需要写成,"\\\\"因为在字符串\中也是特殊的,它也需要被转义.
总之,\与正则表达式匹配,你需要在两个级别中逃避:
\\"\\\\".