Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将单词行分开并存储到数组中_Java_Arrays - Fatal编程技术网

Java 将单词行分开并存储到数组中

Java 将单词行分开并存储到数组中,java,arrays,Java,Arrays,我有一个txt文件中的脚本,我想将它存储到数组列表中 输出只能包含%和数字: jump 1500 walk 50% jump 1280 我想将它们存储在数组中,如 string[] arr = {"jump", "1500"}; 并将每个数组添加到列表中 如何将每一行分隔成一个数组,并忽略不符合第二部分格式的行(%仅限数字)也许您可以尝试使用正则表达式来实现这一点 List saveList = new ArrayList();//List you want to keep result S

我有一个txt文件中的脚本,我想将它存储到数组列表中

输出只能包含%和数字:

jump 1500
walk 50%
jump 1280
我想将它们存储在数组中,如

string[] arr = {"jump", "1500"};
并将每个数组添加到列表中


如何将每一行分隔成一个数组,并忽略不符合第二部分格式的行(%仅限数字)

也许您可以尝试使用正则表达式来实现这一点

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(" "));
}

将行拆分为数组:

List<String> list = new ArrayList<>();
// for each line ...
    // line is "jump 1500" for example
    String[] array = line.split(" ");
    list.add(array);
    // array => {"jump", "1500"}
regex基本上意味着字符串以开头、结尾,并且只包含数字或%。请注意,空字符串将匹配,如果要强制最小长度为1,请使用+而不是*:

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

很难理解你所说的不符合格式的行是什么意思。你的意思是如果它有%,你想忽略那一行吗?什么时候可以忽略一行?我想他的意思是第二列必须是一个整数或一个有效的-0%-100%的值。不过……这不是一项服务,到目前为止您尝试了什么?
"^[\\d\\%]+$"