2

次の文字列がある場合:

String string = "My \n name \n is \n John \n Doe";

そして、各単語を区切って配列リストに追加したい:

ArrayList<String> sentence = new ArrayList<String>();

どうすればいいですか?

改行は \n ではない可能性があることに注意してください-それは何でもかまいません。

ありがとう

4

4 に答える 4

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

for(String line: lines) {
    sentence.add(line);
}

これでうまくいくはずです。

于 2012-05-04T20:33:05.840 に答える
6
List<String> list = Arrays.asList(string.split("\\s+"));
  • スペース、改行などを含む「任意の数の空白記号」で分割しています
  • 返されるリストは読み取り専用です。新しい書き込み可能なリストが必要な場合は、copy-constructor を使用してください
    new ArrayList(list)
于 2012-05-04T20:33:16.310 に答える
1

を使用String.split("\\s*\n\\s*")して を取得してString[]から、 を使用できますArrays.asList()。を取得しList<String>ます。必要なArrayList場合は、コンストラクターを使用できますArrayList(Collection)

String string = "My \n name \n is \n John \n Doe";
String[] arr = string.split("\\s*\n\\s*");
List<String> list = Arrays.asList(arr);

Character.LINE_SEPARATORの代わりに使用することもできます\n

于 2012-05-04T20:32:53.563 に答える
0
import java.util.Arrays;
import java.util.List;

public class Test
{
    public static void main( String[] args )
    {
        List < String > arrayList = Arrays.asList( "My \n name \n is \n John \n Doe".split( "\\n" ) );
        // Removes the 2 white spaces: .split( " \\n " )
    }
}
于 2012-05-04T20:43:01.657 に答える