2013-04-17 58 views
0

我希望我能在這裏獲得一些幫助。僅將文件中的特定文本添加到數組列表

這是在我的文件中的文本:

Name: John 
Name: Peter 
Name: Sarah 
Place: New York 
Place: London 
Place: Hongkong 

如何爲例如僅在以下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()); 
    } 
} 

最後,它應該只添加名稱ArrayLIst中的名稱,如John,Peter,Sarah。

我希望有任何建議,謝謝!

回答

1

if語句加入,並期待與「地方」的字符串,使用正則表達式表達和敲了這一點。這是最簡單的方法。

但這是另一個簡單的解決方案。您還可以添加更多的單詞以查找在if中使用OR運算符。

while((text = input.readLine()) != null){ 
     //gets rid of places 
if !(a.contains("Place")){ 
      text = text.replaceAll("Name:", ""); 
      names.add(new Name(text)); 
     } 
    } 
1

嘗試拆分每一行必須在限定:,例如:

String[] parts = text.split(":"); 
String part1 = parts[0]; // Name 
String part2 = parts[1]; // John 
相關問題