2016-01-20 39 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(" ")); 
} 
相关问题