有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将单词行分隔并存储到数组中

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

输出只能包含%和数字:

jump 1500
walk 50%
jump 1280

我想把它们存储在数组中,比如

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

并将每个数组添加到列表中

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


共 (2) 个答案

  1. # 1 楼答案

    将行拆分为一个数组:

    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!
    }
    

    regex基本上意味着字符串以开头、结尾,并且只包含数字或%。请注意,空字符串将匹配,如果要强制最小长度为1,请使用+而不是*:

    "^[\\d\\%]+$"
    
  2. # 2 楼答案

    也许你可以试试正则表达式来达到这个目的

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