我有一个长度未知的字符串,看起来像这样

"dog, cat, bear, elephant, ..., giraffe"

用逗号分隔这个字符串的最佳方法是什么,这样每个单词都可以成为数组列表的一个元素?

例如

List<String> strings = new ArrayList<Strings>();
// Add the data here so strings.get(0) would be equal to "dog",
// strings.get(1) would be equal to "cat" and so forth.

当前回答

首先,你可以像这样拆分名字

String animals = "dog, cat, bear, elephant,giraffe";

String animals_list[] = animals.split(",");

访问您的动物

String animal1 = animals_list[0];
String animal2 = animals_list[1];
String animal3 = animals_list[2];
String animal4 = animals_list[3];

此外,你还需要移除动物名称周围的空格和逗号

String animals_list[] = animals.split("\\s*,\\s*");

其他回答

我能试试这个吗

 sg = sg.replaceAll(", $", "");

否则

if (sg.endsWith(",")) {
                    sg = sg.substring(0, sg.length() - 1);
                }

这是一个用逗号分割字符串的简单方法,

import java.util.*;

public class SeparatedByComma{
public static void main(String []args){
     String listOfStates = "Hasalak, Mahiyanganaya, Dambarawa, Colombo";
     List<String> stateList = Arrays.asList(listOfStates.split("\\,"));
     System.out.println(stateList);
 }
}

在Kotlin

val stringArray = commasString.replace(", ", ",").split(",")

where stringArray是列表<字符串>和commasString是字符串与逗号和空格

首先,你可以像这样拆分名字

String animals = "dog, cat, bear, elephant,giraffe";

String animals_list[] = animals.split(",");

访问您的动物

String animal1 = animals_list[0];
String animal2 = animals_list[1];
String animal3 = animals_list[2];
String animal4 = animals_list[3];

此外,你还需要移除动物名称周围的空格和逗号

String animals_list[] = animals.split("\\s*,\\s*");

删除所有空白,并创建一个固定大小或不可变的列表(参见asList API文档)

final String str = "dog, cat, bear, elephant, ..., giraffe";
List<String> list = Arrays.asList(str.replaceAll("\\s", "").split(","));
// result: [dog, cat, bear, elephant, ..., giraffe]

也可以使用replaceAll(\\s+", ""),但最大效率取决于用例。(见@GurselKoca回答从Java字符串中删除空白)