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

"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 names = "prappo,prince";
String[] namesList = names.split(",");

您可以通过它的索引访问它

String name1 = namesList [0];
String name2 = namesList [1];

或者使用循环

for(String name : namesList){
    System.out.println(name);
}

其他回答

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

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);
 }
}

简单而简短的解决方案:-

字符串str="测试1,测试2,测试3"; List<String> elementList = Arrays.asList(str. aslist)replaceAll(“\ \ s * \ \ s * ", ", ") .split (", ")); 输出=["test 1","test 2","test 3"]

它适用于所有情况。

稍后谢谢我:-)

删除所有空白,并创建一个固定大小或不可变的列表(参见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字符串中删除空白)

在Kotlin

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

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

你可以这样做:

String str = "...";
List<String> elephantList = Arrays.asList(str.split(","));

基本上,.split()方法将根据您传递的分隔符(在本例中)分割字符串,并返回一个字符串数组。

但是,您似乎是在寻找字符串列表而不是数组,因此必须使用Arrays.asList()实用程序将数组转换为列表。仅供参考,你也可以这样做:

String str = "...";
ArrayList<String> elephantList = new ArrayList<>(Arrays.asList(str.split(","));

但是针对接口而不是实际的具体实现进行编程通常是更好的实践,因此我推荐第一个选项。