Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.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_Parsing - Fatal编程技术网

通过格式化文件进行Java输入

通过格式化文件进行Java输入,java,parsing,Java,Parsing,我需要从格式文件中获取输入 二, (3,4) (5,6) 3. (6,5)(7,8) 如果我只想将整数值存储在某个变量中,我不想使用括号和逗号,那么如何使用模式匹配来获得它呢?您可以使用String#replaceAll([^0-9]”,“)删除任何非数字字符和integer.valueOf(String)获取整数。您可以使用直接从文件中读取整数,并使用指定分隔符,其中分隔符将是正则表达式(“[,()]{1,}”)。Scanner方法hasNextInt()和nextInt()可用于读取整数。我

我需要从格式文件中获取输入

二, (3,4) (5,6) 3. (6,5)(7,8)


如果我只想将整数值存储在某个变量中,我不想使用括号和逗号,那么如何使用模式匹配来获得它呢?

您可以使用
String#replaceAll([^0-9]”,“)
删除任何非数字字符和
integer.valueOf(String)
获取整数。

您可以使用直接从文件中读取整数,并使用指定分隔符,其中分隔符将是正则表达式(
“[,()]{1,}”
)。
Scanner
方法
hasNextInt()
nextInt()
可用于读取整数。

我更喜欢字符串方法split,它允许使用正则表达式。假设您已实例化名为contents of type ArrayList的实例变量,下面是为文件中的每一行输入运行的一些示例代码:


split方法创建一些额外的(空)标记,try/catch会消除这些标记。希望这有帮助。

你知道正则表达式吗?这应该是开始的地方。哪个整数?括号内的那些?所有的整数括号外的和括号内的。但是我要所有的整数分开,将它们存储在integers@Manas请举例说明您希望从该示例输入中获得什么样的输出。我想从这些整数执行其他操作,因此我只希望将单个整数存储在数组中。您能否帮助我使用第一行中的类似2的模式,然后是(3,4)(5,6)在下一行中,下一行和最后一行中的3有(6,5)(7,8)。hmjd-我尝试了你的方法,我可以得到括号内的整数,但不能得到括号外的整数(第一行中的2,然后下一行中的(3,4)(5,6),然后下一行和最后一行中的3有(6,5)(7,8)),在上述情况下,我不能得到2和3
public void readLine(String line) {
    String delimiters = "[ ,()]+"; // regular expression
    String[] tokens = line.split(delimiters);
    for (String token : tokens) {
        try {
            Integer i = Integer.parseInt(token); // convert String to Integer
            contents.add(i);
        } catch (NumberFormatException e) {
            // TODO: handle exception
        }
    }
}