如何用数字拆分字符串? 就像我有" 20 40"进入后,我该如何拆分 所以我得到20,40?
int t = Integer.parseInt(x);
int str = t;
String[] splited = str.split("\\s+");
我的代码。
答案 0 :(得分:2)
如果您尝试将包含以空格分隔的整数标记的字符串解析为int
数组,则以下内容将起作用:
String input = "20 40";
String[] tokens = input.split(" ");
int[] numbers = new int[tokens.length];
for (int i = 0; i < tokens.length; i++) {
numbers[i] = Integer.parseInt(tokens[i].trim());
}
您也可以通过惊人的Google Guava library中的Iterables
和Splitter
实用程序在单行中执行此操作:
Integer[] numbers = Iterables.toArray(Iterables.transform(
Splitter.on(' ').trimResults().split(input),
new Function<String, Integer>() {
@Override
public Integer apply(String token) {
return Integer.parseInt(token);
}
}), Integer.class);
答案 1 :(得分:1)
您需要将其转换为字符串值然后拆分,可能是这样的:
String[] splited = String.valueOf(str).split("\\s+");
您似乎正在将数字读取为String并尝试在拆分之前将其转换为整数:
int t = Integer.parseInt(x);
所以你实际上可以拆分你的变量x
并从中获取个别的int值:
String[] splited = x.split("\\s+");
for(String num:splited) {
int intVal = Integer.valueOf(num);
}