如何用數字分割字符串? 如果我有「20 40」進入,我該如何分割 它,所以我得到20,40?帶數字的Java分割字符串
int t = Integer.parseInt(x);
int str = t;
String[] splited = str.split("\\s+");
我的代碼。
如何用數字分割字符串? 如果我有「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