如何从字符串中获取不同长度的最后几个字符..?

时间:2011-10-18 05:14:22

标签: java android

我有一个多字符串网址,我必须从中选择最后几个字符,这些字符是id的。但问题在于,id的长度不一致,即,如果一个id的长度为6,则其他的长度为5或4,依此类推。示例网址如下:

www.abc.com/xyz-123456
www.abc.com/pqr-5432
www.abc.com/lmn/opqr-25647

如果特定id部分的长度相同,可能会更容易,我可以使用:

String abc = "www.abc.com/xyz-123456"; 
String id = abc.substring(abc.length()-6);

但是现在情况不同,因为所选网址中id部分的长度总是不一样,我怎样才能满足这种不同的id .. ????请任何帮助表示赞赏。

5 个答案:

答案 0 :(得分:5)

String对象上有一个lastIndexOf方法,可以让你找到' - '的位置(我认为它是你的分隔符)。从那里你可以做子串。

答案 1 :(得分:2)

你可以使用这样的东西。

String id=abc.subString(abc.lastIndexOf('\'),abc.length()-1);

希望它会对你有所帮助。 :)

答案 2 :(得分:1)

String url1 = "www.abc.com/xyz-123456";
String[] url1Split = url1.split("-");

您正在寻找的内容可以在url1split [1]

中找到

答案 3 :(得分:0)

使用正则表达式删除最多-的所有字符。

String id = url.replaceAll("^.*-",""); 

String id = url.replaceAll("^.*-(\\w+)$","$1");

答案 4 :(得分:0)

您可以使用LastIndexOf或创建正则表达式。