繁体   English   中英

Java带数字的拆分字符串

[英]Java Split String with Numbers

如何用数字分割字符串? 就像我输入了“ 20 40”一样,如何拆分它以得到20、40?

    int t = Integer.parseInt(x);
    int str = t;
    String[] splited = str.split("\\s+");

我的代码。

如果您尝试将包含空格分隔的整数标记的字符串解析为一个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());
}

您还可以通过令人惊叹的Google Guava库中IterablesSplitter实用程序以单行代码的方式进行此操作:

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值,然后拆分,也许像这样:

String[] splited = String.valueOf(str).split("\\s+");

似乎您正在将数字读取为String并尝试在拆分之前将其转换为整数:

int t = Integer.parseInt(x);

因此,您实际上可以拆分变量x并从中获取单个int值,如下所示:

String[] splited = x.split("\\s+");
for(String num:splited) {
     int intVal = Integer.valueOf(num);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM