在字符串中匹配“\ n”

时间:2013-10-01 06:01:25

标签: java regex

之前可能已经提出这个问题,但我还没有得到答案。我有一个看起来像

的字符串
" ___________________ \n|_ | ___ _ _|\n| | | _|___|"

我作为命令行参数传递给java程序。直接将该字符串粘贴为命令行参数。

我程序的第一行是

String [] array = args[0].split("\n"); 

我想将它拆分为" \ n"但我似乎不能用split(" \ n")或split(" \\ n")来做。我究竟做错了什么?

5 个答案:

答案 0 :(得分:2)

String str =" ___________________ \n|_ | ___ _ _|\n| | | _|___|";
String[] arr = str.split("\n");
System.out.println(Arrays.deepToString(arr));

答案 1 :(得分:2)

试试这个

String lines[] = String.split("\\r?\\n");

答案 2 :(得分:1)

\n   -  New Line Feed      
\r   -  Carriage Return    


String input = "___________________ \n|_ | ___ _ _|\n| | | _|___|";
String[] splitValue = input.split("[\\r\\n]+");

答案 3 :(得分:1)

String data=" ___________________ \n|_ | ___ _ _|\n| | | _|___|";       
String data1[]=data.split("\\n");
System.out.println(data);

提供输出。

 ___________________ 
|_ | ___ _ _|
| | | _|___|

答案 4 :(得分:0)

如果传入包含文字反斜杠的字符串,则必须使用split("\\\\n")进行匹配。

说明:要匹配正则表达式中的反斜杠,您必须将其展开,因此正则表达式为\\n。要通过java String-literal输入它,你必须从正则表达式中的两个反斜杠中逐出,因此它变为"\\\\n"

...只是不要问我匹配双反斜杠; - )