从字符串返回List <string>,可以用单词分割,然后附加在Java </string>中

时间:2014-11-09 06:28:25

标签: java string split

例如,如果我有字符串&#34; Bob Bakes Brownies&#34;,有什么方法可以让这个方法产生三个字符串的列表:&#34; Bob&#34;,&# 34; Bob Bakes&#34;和&#34; Bob Bakes Brownies&#34; 任何反馈都将不胜感激。

7 个答案:

答案 0 :(得分:1)

创建要返回的列表。循环遍历String寻找空格。对于您找到的每个空间,将一个子字符串添加到列表中,该字符串从零索引开始并向上移动到空格(不包括空格)。

当没有空格时,将整个字符串添加到列表中,然后返回。

答案 1 :(得分:0)

您可以使用.split()获取单个单词的数组或使用StringTokenizer

答案 2 :(得分:0)

好的方法将是split(" ")字符串,这将产生一个数组。然后,每次将当前数组单元与StringBuilder或正常串联连接起来时,都可以迭代数组,并在每次迭代时打印结果。

答案 3 :(得分:0)

public void listOfStrings(String s){

    ArrayList<String> result = new ArrayList<String>();
    int p = 0;


    for (int i = 0; i < s.length() ; i++) {

         if(s.charAt(i) == ' ') {
             result.add(p, s.substring(0, i));
             p++;
         }
        if(i == s.length()-1)
            result.add(p,s);


    }
 }

答案 4 :(得分:0)

试试这个:

static List<String> createStringList(String string) {
    String[] parts = string.split(" ");
    List<String> result = new ArrayList<>();
    StringBuilder currentString = new StringBuilder();
    for (int i = 0; i < parts.length; i++) {
        if (i > 0) {
            currentString.append(" ");
        }
        currentString.append(parts[i]);
        result.add(currentString.toString());
    }
    return result;
}

答案 5 :(得分:-1)

public ArrayList<String> solution(String s){

    ArrayList<String> result = new ArrayList<String>();
    StringBuffer sb = new StringBuffer();
    String[] array = s.split(" ");

    for(String str:array){
        sb.append(str);
        result.add(sb.toString());
    }
    return result;
}

答案 6 :(得分:-2)

String string = "Bob Bakes Brownies";
List<String> list = Arrays.asList(string.split(" "));