将字符串拆分为java中的整数列表

时间:2016-05-07 00:00:46

标签: java split int

我想分割一个字符串:

" 42 2152 12 3095 2" 

进入整数列表,但是当我使用.split(" ")函数时,由于开头的空格,我最初会得到一个空的""元素。有没有办法在没有空元素的情况下拆分它?

4 个答案:

答案 0 :(得分:2)

您可以使用String.trim从原始字符串中删除前导和尾随空格

String withNoSpace = " 42 2152 12 3095 2".trim();

答案 1 :(得分:2)

在对阵列调用split之前,请使用 String.trim()函数。这将删除原始字符串

之前和之后的任何空格

例如:

    String original = " 42 2152 12 3095 2"; 
    original = original.trim();
    String[] array = original.split(" ");

为了使您的代码更整洁,您还可以将其编写为:

    String original = " 42 2152 12 3095 2"; 
    String[] array = original.trim().split(" ");

如果我们打印出阵列:

    for (String s : array) {
        System.out.println(s);
     }

输出结果为:

42
2152
12
3095
2

希望这有帮助。

答案 2 :(得分:1)

您可以使用Scanner,它将从字符串

一次读取一个整数
Scanner scanner = new Scanner(number);
List<Integer> list = new ArrayList<Integer>();
while (scanner.hasNextInt()) {
    list.add(scanner.nextInt());
}

答案 3 :(得分:1)

根据上述答案,您要问所有这些方法之间的性能差异:

没有真正的性能差异,所有这些都会与O(n)一起运行。

实际上,首先拆分字符串,然后将它们添加到集合中将包含2 x O(n)个循环。