2016-01-20 46 views
1

我有一個txt文件,這個腳本,我想存入數組單獨的線,並存儲到數組

輸出只能包含%和號碼的清單:

jump 1500 
walk 50% 
jump 1280 

我想將它們存儲在陣列狀

string[] arr = {"jump", "1500"}; 

,並各自爲陣的添加到列表中,

如何我是否將每行分隔成一個數組,忽略不符合第二部分格式的行(僅限%和數字)

+0

很難理解您的行不符合格式的含義。你是說如果它有%你想忽略那條線?你什麼時候會忽略一條線? – Arsaceus

+0

我認爲他的意思是第二列必須是一個整數或有效的%-value 0%-100%。仍然....這不是一項服務,你到目前爲止嘗試過什麼? – Altoyyr

回答

2

分割線到一個數組:

List<String> list = new ArrayList<>(); 
// for each line ... 
    // line is "jump 1500" for example 
    String[] array = line.split(" "); 
    list.add(array); 
    // array => {"jump", "1500"} 

要檢查字符串僅包含數字和%,使用正則表達式:

String line = "1500%"; 
if (line.matches("^[\\d\\%]*$") { 
    // match! 
} 

正則表達式基本上意味着字符串開始與,結束並且僅包含數字或%。請注意,如果您希望執行最小長度爲1的空字符串,請使用+而不是*:

"^[\\d\\%]+$" 
1

也許你可以試試Regex來實現這一點。

List saveList = new ArrayList();//List you want to keep result 
String pattern = "[\\w]* (\\d*|\\d*%)"; 
String lineText = "jump 1280";//line text from your txt file 
if (lineText.matches(pattern)) { 
    saveList.add(lineText.split(" ")); 
}