[英]Java Split String with Numbers
如何用数字分割字符串? 就像我输入了“ 20 40”一样,如何拆分它以得到20、40?
int t = Integer.parseInt(x);
int str = t;
String[] splited = str.split("\\s+");
我的代码。
如果您尝试将包含空格分隔的整数标记的字符串解析为一个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库中的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);
您需要将其转换为String值,然后拆分,也许像这样:
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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.