拆分字符串不工作

问题描述 投票:-4回答:1

我有一个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我可以得到索引[0] = ed sheeran,index [1] = beyonce等..我试图运行上面的代码+下面它没有显示任何东西,可以有人告诉我什么是不用我的代码,谢谢。

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

哪个应该回归beyonce

java arrays regex arraylist split
1个回答
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");
© www.soinside.com 2019 - 2024. All rights reserved.