如何从JAVA中具有混合字符的文件中读取整数?

时间:2014-08-11 04:47:21

标签: java file-io

我有一个包含这样的文本文件 - 23 + 3 我必须做数学并在不同的文本文件中写ans。 我尝试过scan.nextInt()方法。但是在扫描" +"时显示异常。 在这里有任何帮助忽略其他字符??

2 个答案:

答案 0 :(得分:3)

您可以使用正则表达式来匹配数字,

String regex = "[0-9]+";

String regex = "\\d+";

其中+表示“一个或多个”,\ d表示“数字”。

注意:“双斜杠”会给你一个斜杠。 “\ d”给你:\ d

将正则表达式传递给模式: Pattern p = Pattern.compile(regex); 然后在输入字符串中查找匹配项 Matcher m1 = p.matcher(inputString);

答案 1 :(得分:0)

假设您只有一个加法运算符。您可以拆分+符号。

String[] arr = "23+3".split("+"); // returns ['23', '3']

现在,您将遍历String数组,将每个条目转换为整数,并对整个数组求和。

您可以扩展此方法以使用减法/乘法/除法等。但是,您可能希望查找为Abstract Syntax Tree。看看这个StackOverflow答案:

How to construct an abstract syntax tree