假设我有这个字符串
String myString=" 102 3 4 93 3";
我需要能够访问我的字符串中的每个整数,但是有一个不可预测的空格字符数,用于分隔每个整数。我想最终得到像这样的东西
stuff[0]=102
stuff[1]=3
stuff[2]=4
stuff[3]=93
stuff[4]=3
答案 0 :(得分:3)
首先使用trim()
删除尾随和前导空格。然后,您可以使用split(regex)
:
String[] parts = myString.trim().split("\\s+");
我们正在使用:
\\s : Match any whitespace character
+ : Repeat one or more times
如果您需要int
元素,可以使用Integer.parseInt()
方法:
int n = Integer.parseInt(parts[0]);
答案 1 :(得分:1)
现在java-8已经出来,这是从原始字符串中获取int数组的一种解决方案。
public static void main(String[] args) {
String myString=" 102 3 4 93 3";
int[] arr = Arrays.stream(myString.trim().split("\\s+"))
.mapToInt(Integer::parseInt)
.toArray();
System.out.println(Arrays.toString(arr));
}
输出:
[102, 3, 4, 93, 3]