私はJavaで文字列は以下のように定義されている:はどのように改行文字に基づいて、Javaの文字列を分割する
contactNumberListのように4つの項目が含まれていString numbers = null;
for (int i= 0; i < contactNumberList.size();i++)
{
numbers = contactNumberList.get(i) + "\n" + numbers;
}
:ループの後9891、3432、5432、9890. ので、私は数字の文字列を持っている: 9890 \ n5432 \ n3432 \ n9891 \ nnull
それから私は、次のAPIを使用して上記の文字列を渡されました。今
String toUnicodeEncoded = StringEscapeUtils.escapeJava(numbers);
toUnicodeEncoded = StringEscapeUtils.escapeXml10(toUnicodeEncoded);
私は以下のように文字ずつtoUnicodeEncoded列を印刷しよう:
for (int i =0;i<toUnicodeEncoded.length();i++)
{
Logger.log("chat at "+i + " = "+(toUnicodeEncoded.charAt(i)));
}
それは与える:
char at 0 = 9
char at 1 = 8
char at 2 = 9
char at 3 = 0
char at 4 = \
char at 5 = n
などを。
私のポイントは「\ n」は2文字\とnになりました。 は、今私は、文字列が「\ n」は以下のAPIを使用することに基づいてをtoUnicodeEncoded分割したい:
String lines[] = toUnicodeEncoded.split("\\n");
しかし、今は「\ n」はなってきたので、それを分割し、そのことはできません\ nは。どのように私は "\ n"または改行文字でUnicodeEncoded文字列に分割しますか?
基本的に私はのような出力をしたい:
9890
5432
3432
9891
null
すなわち、すべての4つの数字。どうすればいいのですか。我々は\ nはそれが予想される出力を与えているとあなたの文字列を分割すると
これが原因で、あなたの元の試み 'toUnicodeEncoded.split(「\\ N」)である;' *正規表現*( '文字列のJavadocを読むにバックスラッシュを渡しました。 .split')、正規表現はバックスラッシュを特別な意味で扱います。あなたがしなければならなかったことは正規表現にエスケープされたバックスラッシュを与えることでした: 'toUnicodeEncoded.split(" \\\\ n ");'。 –