获取一行的最后一个元素

时间:2014-03-19 08:27:38

标签: java string

0 0 2 2 6 5 0.61 1
14 2 15 3 6 1 0.123 -1

我想要

0 0 2 2 6 5 0.61
14 2 15 3 6 1 0.123

为此我做了

String predictLine = line.substring(0, line.length() - 1);

对于第一行,没关系,但是对于最后一行,它显示

14 2 15 3 6 1 0.123 -

我做错了什么

5 个答案:

答案 0 :(得分:5)

如果您要删除最后一个令牌,则应该是:

line.substring(0, line.lastIndexOf(" "));

(注意子字符串排除'to'索引)

另一方面,如果您对最后一个令牌感兴趣:

line.substring(line.lastIndexOf(" ") + 1);

答案 1 :(得分:2)

尝试line.substring(0, line.lastIndexOf(" "))

答案 2 :(得分:2)

我拆分字符串并将其视为数组:

String[] splitted = line.split(" ");
String lastItem = splitted[splitted.length - 1];

答案 3 :(得分:2)

您可以拆分该行并获取最后一个元素:

String line = "0 0 2 2 6 5 0.61 1";
String[] split = line.split(" ");
String lastElement = split[split.length - 1];

答案 4 :(得分:0)

您希望从" "的首尾索引获取字符串您可以在文档中看到

substring(int beginIndex, int endIndex)
Returns a new string that is a substring of this string.

在您的情况下,beginIndex0endIndex为lastIndexOf " "

所以你可以这样做 -

line.substring(0,line.lastIndexOf(" "))

文档--> http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#substring(int,int)