【发布时间】:2011-02-14 22:54:17
【问题描述】:
所以我正在读取一个看起来像这样的文件(如 java 程序 如果我很幸运,但更常见的是每行前后都有几个空白字符。 这些是我正在解析的十六进制地址,我基本上需要确保我可以使用扫描仪、缓冲阅读器获得该行......无论如何,并确保我可以将十六进制转换为整数。这是我目前所拥有的: 所以我已经将我的所有错误都追溯到解析输入和内容,所以我想我只是想弄清楚我需要什么正则表达式或方法才能让它按照我想要的方式工作。58
68
58
68
40
c
40
48
FA
Scanner scanner = new Scanner(System.in);
int address;
String binary;
Pattern pattern = Pattern.compile("^\\s*[0-9A-Fa-f]*\\s*$", Pattern.CASE_INSENSITIVE);
while(scanner.hasNextLine()) {
address = Integer.parseInt(scanner.next(pattern), 16);
binary = Integer.toBinaryString(address);
//Do lots of other stuff here
}
//DO MORE STUFF HERE...
【问题讨论】: