如何在到达某个字符时拆分字符列表并将其作为字符串存储在java中

时间:2016-05-02 07:40:10

标签: java string arraylist split char

这是我的角色列表项目:

ALPO..LASS....OBO.PARROT 

项目的字符数组列表包含'的组合。'和信件。我想在最后一个时分割字符。'遇到并将值存储为字符串,或者将提取的字符串传递给String数组列表。

预期输出(字符串数组列表中需要)

ALPO
LASS
OBO
PARROT

我尝试使用:

for (int i = 0; ....)
{
    ....
    ArrayList<Character> answerchar = new ArrayList<Character>();
    static String outputs;
    outputs += answerchar;
    outputlist.add(outputs);
}

但我得到了奇怪的结果。知道应该做什么吗?

3 个答案:

答案 0 :(得分:3)

将您的char数组转换为String,然后在文字点上拆分:

List<Character> chars; // given a list of 'A', 'L', 'P', 'O', '.', '.', 'L', 'A', 'S', 'S', etc

List<String> list = Arrays.asList(chars.stream().map(String::valueOf)
  .collect(Collectors.joining("")).split("\\.+"));

如果您特别需要ArrayList(不仅仅是任何列表实现):

ArrayList<String> words = new ArrayList<>(Arrays.asList(chars.stream().map(String::valueOf)
  .collect(Collectors.joining("")).split("\\.+")));

答案 1 :(得分:1)

你需要将一个字符串拆分为多个&#39;。&#39; ,一个点不起作用,因此您需要多次出现&#39;。&#39;
尝试使用 - &gt;

的示例代码
String inputString = "ALPO..LASS....OBO.PARROT";
String[] stringArray = inputString.split("\\.+");
for(int i = 0; i < stringArray.length; i++){
    System.out.println(stringArray[i]);
}

希望这应该有用。

编辑1- 它正在我的PFA截图上工作。

enter image description here

答案 2 :(得分:-1)

试试这个:

String name="ALPO..LASS....OBO.PARROT ";
String[] tokens = name.split("\\.+"); //Splits with n number of "."
for(int i=0;i<tokens.length;i++){
    System.out.println(tokens[i]);
}
相关问题