我有一个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
答案 0 :(得分:0)
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");