拆分字符串不工作

时间:2018-03-05 12:48:14

标签: java arrays regex arraylist split

我有一个arrayList myfavourites,其中索引0只有一个元素,它包含以下内容

->  ed sheeran . .  beyonce . .  katty perry . . .  

我想将此字符串拆分为另一个数组,该数组仅包含名称

       for(int f =0; f < myFavourites.size();f++){

       String[] someArray = null;
       someArray[f] = myFavourites.get(f).split("\\.");

   }

因此,当我遍历数组myfavourites时,我可以获得index [0] = ed sheeran,index [1] = beyonce等。 我尝试运行上面的代码+下面它没有显示任何东西,有些人可以告诉我什么不能使用我的代码,谢谢。

System.out.println(someArray[1]);

可以返回 beyonce

1 个答案:

答案 0 :(得分:0)

split("\\.")

只有在像这样的字符串

时才有效

ed sheeran.beyonce.katty perry

您可以使用PatternMatcher查找所有姓名:

ArrayList<String> names = new ArrayList<>();
String s = "->  ed sheeran . .  beyonce . .  katty perry . . .  ";
Pattern reg = Pattern.compile("\\w+\\s?\\w+");
Matcher m = reg.matcher(s);
while (m.find()) {
    names.add(m.group());
}
String[] someArray = names.toArray(new String[]{});

更新

如果有A B CA B CA-B C这样的名称,那么这个名称会更好:

Pattern.compile("\\w[ \\w\\-]*\\w");