【问题标题】:coordinates string to int坐标字符串到 int
【发布时间】:2014-11-23 22:24:16
【问题描述】:
所以我理解将 String 转换为 int(我知道是 parseInt),但我想知道是否可以转换以下内容:
字符串坐标 = EasyIn.getString();
(例如“1, 1”)
Integer.parseInt(坐标);显然不起作用,因为有多个整数。有什么办法可以解决这个问题,还是我需要建立单独的整数?感谢您就此事提供任何建议或帮助!
(这是Java,顺便说一句)
【问题讨论】:
标签:
java
string
integer
type-conversion
【解决方案1】:
如果您不能使用较新的 API,请执行以下操作:
首先,用
找到逗号
int commaLoc = coordinates.indexOf(",");
然后解析每个子串
int x = Integer.parseInt(coordinates.substring(0,commaLoc));
int y = Integer.parseInt(coordinates.substring(commaLoc + 2));
如果您可以使用扫描仪:
Scanner scanner = new Scanner (coordinates);
scanner.useDelimiter (", ");
int x = scanner.nextInt();
int y = scanner.nextInt();
【解决方案2】:
在java中没有直接的方法,但是如果你使用正则表达式,它只是两行简单的:
int x = Integer.parseInt(coordinates.replaceAll(",.*", ""));
int y = Integer.parseInt(coordinates.replaceAll(".*,", ""));
如果你有 java 8,从 CSV 数字中获取整数数组只需一行。
int[] ints = Arrays.stream(coordinates.split(", *")).mapToInt(Integer::parseInt).toArray();