[英]Splitting a string to a list of integers in java
我想分割一个字符串形式:
" 42 2152 12 3095 2"
进入整数列表,但是当我使用.split(" ")
函数时,由于开头是空白,所以开头是空的""
元素。 有没有办法在没有空元素的情况下拆分它?
您可以使用String.trim
从原始字符串中删除String.trim
和结尾的空格
String withNoSpace = " 42 2152 12 3095 2".trim();
在对数组调用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
希望这可以帮助。
您可以使用Scanner
,它将一次从字符串读取一个整数
Scanner scanner = new Scanner(number);
List<Integer> list = new ArrayList<Integer>();
while (scanner.hasNextInt()) {
list.add(scanner.nextInt());
}
根据上述答案,您正在询问所有这些方法之间的性能差异:
所有这些都将与O(n)一起运行,没有真正的性能差异。
实际上,首先像这样分割字符串,然后将它们添加到集合中将包含2 x O(n)个循环。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.