1

これは以前に尋ねられたかもしれませんが、私は答えに出くわしていません。次のような文字列があります

" ___________________ \n|_ | ___ _ _|\n| | | _|___|"

コマンドライン引数としてJavaプログラムに渡しています。文字通り、その文字列をコマンド ライン引数として貼り付けるだけです。

私のプログラムの最初の行は

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

"\n" で分割したいのですが、split("\n") または split("\\n") ではできないようです。私は何を間違っていますか?

4

5 に答える 5

2

これを試して

String lines[] = String.split("\\r?\\n");
于 2013-10-01T06:08:56.593 に答える
2

試す

String str =" ___________________ \n|_ | ___ _ _|\n| | | _|___|";
String[] arr = str.split("\n");
System.out.println(Arrays.deepToString(arr));
于 2013-10-01T06:05:31.670 に答える
1
String data=" ___________________ \n|_ | ___ _ _|\n| | | _|___|";       
String data1[]=data.split("\\n");
System.out.println(data);

出力を与えます。

 ___________________ 
|_ | ___ _ _|
| | | _|___|
于 2013-10-01T06:07:36.277 に答える
1
\n   -  New Line Feed      
\r   -  Carriage Return    


String input = "___________________ \n|_ | ___ _ _|\n| | | _|___|";
String[] splitValue = input.split("[\\r\\n]+");
于 2013-10-01T06:06:46.700 に答える
0

リテラル バックスラッシュを含む文字列が渡された場合は、 を使用して一致させる必要がありますsplit("\\\\n")

説明: 正規表現のバックスラッシュに一致するには、それをエスケープする必要があるため、正規表現は\\n. これを Java 文字列リテラルで入力するには、正規表現の 2 つのバックスラッシュをそれぞれ除外する必要があるため、"\\\\n".

...ダブルバックスラッシュの一致について私に尋ねないでください;-)

于 2013-10-01T07:20:24.147 に答える