以前可能有人问过这个问题,但我还没有找到答案。我有一个看起来像的字符串
" ___________________ \n|_ | ___ _ _|\n| | | _|___|"
我将其作为命令行参数传递给 java 程序。从字面上看,只需将该字符串粘贴为命令行参数。
我程序的第一行是
String [] array = args[0].split("\n");
我想在“\n”上拆分它,但我似乎无法使用拆分(“\n”)或拆分(“\\n”)。我究竟做错了什么?
尝试
String str =" ___________________ \n|_ | ___ _ _|\n| | | _|___|";
String[] arr = str.split("\n");
System.out.println(Arrays.deepToString(arr));
试试这个
String lines[] = String.split("\\r?\\n");
\n - New Line Feed
\r - Carriage Return
String input = "___________________ \n|_ | ___ _ _|\n| | | _|___|";
String[] splitValue = input.split("[\\r\\n]+");
String data=" ___________________ \n|_ | ___ _ _|\n| | | _|___|";
String data1[]=data.split("\\n");
System.out.println(data);
给出输出。
___________________
|_ | ___ _ _|
| | | _|___|
如果传入的字符串包含文字反斜杠,则必须使用split("\\\\n")
.
说明:要匹配正则表达式中的反斜杠,您必须将其排除,因此正则表达式是\\n
. 要通过 java String-literal 输入它,您必须将正则表达式中的两个反斜杠中的每一个都去掉,所以它变成"\\\\n"
.
...只是不要问我是否匹配双反斜杠;-)