如何分解字符串?

时间:2014-03-23 21:00:33

标签: java string split

假设我有这个字符串

String myString="  102   3  4     93  3";

我需要能够访问我的字符串中的每个整数,但是有一个不可预测的空格字符数,用于分隔每个整数。我想最终得到像这样的东西

stuff[0]=102

stuff[1]=3

stuff[2]=4

stuff[3]=93

stuff[4]=3

2 个答案:

答案 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)

现在已经出来,这是从原始字符串中获取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]