【发布时间】:2015-06-17 22:30:06
【问题描述】:
如何在 Java 中最有效地分别扫描 int 和 letter?例如扫描"6L"并将6保存为int并注册L。
【问题讨论】:
-
如果您尝试实现它,请同时发布您的代码。
标签: java int java.util.scanner
如何在 Java 中最有效地分别扫描 int 和 letter?例如扫描"6L"并将6保存为int并注册L。
【问题讨论】:
标签: java int java.util.scanner
示例代码会有所帮助,因为 Stack Overflow 通常用于调试,它并不是真正的编程教程论坛。不过,这是一个很好的问题,所以对于任何复杂的文本分析,我建议您这样做。
如果您已经在使用像扫描仪这样的复古设备,请扫描包含您的文本表示的 String。获得字符串后,使用正则表达式。
在你的情况下,应该是这样的:
String sz = scanner.next();
Pattern pattern = Pattern.compile("(\\d+)(\\w+)"); //meaning some number
// of digits, immediately followed by some number of word characters
Matcher matcher = pattern.matcher(sz);
int number = Integer.parseInt(matcher.group(0));
String letters = matcher.group(1);
你有它(虽然注意那个特定的表达式不理解小数点,你必须修改它。)
【讨论】: