我希望我能得到一些帮助。
这是我文件中的文字:
Name: John
Name: Peter
Name: Sarah
Place: New York
Place: London
Place: Hongkong
我怎样才能在以下arraylist中添加文本文件中的名称? 到目前为止,我已经......并且它在arraylist中添加了所有内容,包括地方!
private ArrayList<Name> names = new ArrayList<>();
public void load(String fileName) throws FileNotFoundException {
String text;
try {
BufferedReader input = new BufferedReader(new FileReader(fileName));
while((text = input.readLine()) != null){
text = text.replaceAll("Name:", "");
names.add(new Name(text));
}
}
catch (Exception e) {//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
最后,它应该只在Name ArrayLIst中添加名称,如John,Peter,Sarah。
我很感激任何建议,谢谢!
答案 0 :(得分:1)
尝试拆分分隔符:
上的每一行,例如:
String[] parts = text.split(":");
String part1 = parts[0]; // Name
String part2 = parts[1]; // John
答案 1 :(得分:1)
添加一个if语句并使用正则表达式查找带有“Place”的字符串并将其敲除。这是最简单的方法。
但这是另一个简单的解决方案。您还可以添加更多单词,以便在if。
中使用OR运算符while((text = input.readLine()) != null){
//gets rid of places
if !(a.contains("Place")){
text = text.replaceAll("Name:", "");
names.add(new Name(text));
}
}