Java 将单词行分开并存储到数组中
我有一个txt文件中的脚本,我想将它存储到数组列表中 输出只能包含%和数字: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
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\\%]+$"