带数字的Java分割字符串
如何用数字分割字符串? 如果我有“20 40”进入,我该如何分割 它,所以我得到20,40?带数字的Java分割字符串
int t = Integer.parseInt(x);
int str = t;
String[] splited = str.split("\\s+");
我的代码。
你需要将其转换为字符串值,然后再拆,也许是这样的:
String[] splited = String.valueOf(str).split("\\s+");
好像你正在阅读的字符串数量,并试图在这里分裂之前将其转换为整数:
int t = Integer.parseInt(x);
所以实际上你可以分割你的变量x
并获得indiviudal int类型,它像这样:
String[] splited = x.split("\\s+");
for(String num:splited) {
int intVal = Integer.valueOf(num);
}
'str'是一个'int'。你的解决方案将如何返回除'new String [] {String.valueOf(str)}'之外的东西? – brimborium
@brimborium String.valueOf()将返回int的字符串,并且split将返回String数组.... –
如果将一个'int'转换为'String',则不需要分割,因为它只是一个单个整数,将永远不会有空间... – brimborium
如果你试图解析包含空格分隔的整数令牌,为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());
}
你也可以做到这一点的一个班轮通过Iterables
从惊人Google Guava librarySplitter
公用事业:
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.split'它不会为一个int工作,所以你会想这样做也许'的String [] = NUMS x.split( “\\ S +”); '我假设'x'是由空格划分的nums的String?看@Juned Ashan回答 – 3kings