我有一个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
split("\\.")
仅当字符串这样时才有效
ed sheeran.beyonce.katty perry
你可以使用Pattern
和Matcher
找到所有的名字:
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 C
或A B C
或A-B C
这样的名字,这个更好:
Pattern.compile("\\w[ \\w\\-]*\\w");