获取java中list元素的最后一部分

时间:2017-02-26 19:15:26

标签: java string list text

我想开发一个小程序,它读取文本文件并将值存储到列表中。该列表具有以下格式:

[1234 nick, 243 56475, 13 mi87ke]

我想要完成的是仅提取每个列表元素的最后部分。尽管事实上我已经考虑了两种不同的方法,但我仍然没有得到正确的结果。

到目前为止,我的代码如下:

 First approach:
        index = randomGenerator.nextInt(list.size());
        element = list.get(index);
        while (element.length() < 6 || element.length() > 8) {
             index = randomGenerator.nextInt(list.size());
             element = list.get(index).substring(element.lastIndexOf(" ")+1);  
        }

Second approach:
        index = randomGenerator.nextInt(list.size());
        element = list.get(index);
        while (element.length() < 6 || element.length() > 8) {
             index = randomGenerator.nextInt(list.size());
             element = list.get(index);
             String[] bits = element.split(" ");
             element = bits[bits.length-1];
        }

两种方法的输出相同:

leslie02
yakumo
Buddy1
yaseen
24 19871

我注意到长度大于&lt;仍然通过将第一部分与第二部分一起返回来打印6。任何人都知道为什么会这样,如果有办法解决它?

1 个答案:

答案 0 :(得分:1)

我找到了问题的解决方案:

    index = randomGenerator.nextInt(list.size());
    element = list.get(index);
    String[] bits = element.split(" ");
    element = bits[bits.length-1];
    while (element.length() < 6 || element.length() > 8) {
         index = randomGenerator.nextInt(list.size());
         element = list.get(index);
         bits = element.split(" ");
         element = bits[bits.length-1];
    }