菜鸟笔记
提升您的技术认知

java:获取分割后的最后一个元素-ag真人游戏

我正在使用string拆分方法,我想要最后一个元素。 数组的大小可以改变。

例:

string one = "düsseldorf - zentrum - günnewig uebachs" string two = "düsseldorf - madison" 

我想分割上面的string,并得到最后一个项目:

 lastone = one.split("-")[here the last item] // <- how? lasttwo = two.split("-")[here the last item] // <- how? 

我不知道在运行时数组的大小:(

将数组保存在局部variables中,并使用数组的length字段来查找其长度。 减去一个来解释它是基于0的:

 string[] bits = one.split("-"); string lastone = bits[bits.length-1]; 

或者你可以在string上使用lastindexof()方法

 string last = string.substring(string.lastindexof('-')   1); 

使用一个简单但通用的辅助方法,如下所示:

 public static  t last(t[] array) { return array[array.length - 1]; } 

你可以重写:

 lastone = one.split("-")[..]; 

如:

 lastone = last(one.split("-")); 

您可以使用apache commons中的stringutils类:

 stringutils.substringafterlast(one, "-"); 
 string str = "www.anywebsite.com/folder/subfolder/directory"; int index = str.lastindexof('/'); string laststring = str.substring(index  1); 

现在laststring的值是"directory"

番石榴 :

 final splitter splitter = splitter.on("-").trimresults(); assertequals("günnewig uebachs", iterables.getlast(splitter.split(one))); assertequals("madison", iterables.getlast(splitter.split(two))); 

splitteriterables

由于他要求所有在同一行使用拆分,所以我build议这样做:

 lastone = one.split("-")[(one.split("-")).length -1] 

我总是尽量避免定义新的variables,我觉得这是一个非常好的做法

你的意思是在编译时你不知道数组的大小? 在运行时,可以通过lastone.lengthlastwo.length的值来find它们。

网站地图