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+"));
  • 您正在拆分“任意数量的空白符号”,其中包括空格、换行符等
  • 返回的列表是只读的。如果您需要一个新的可写列表,请使用复制构造函数
    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 回答