在java中,从给定url获取1231的一般方法应该是什么

在java中,从给定url获取1231的一般方法应该是什么,java,string,Java,String,“; 我想从指定的Url获取1231。我有很多url的,我需要做同样的事情。我需要它的通用实现。如下: URI uri = new URI("http://m.facebook.com/category/1231/messages"); String[] parts = uri.getPath().split("/"); String stringId = parts[parts.length-1]; int id = Integer.parseInt(stringId); 如果模式总是这样:

“; 我想从指定的Url获取1231。我有很多url的,我需要做同样的事情。我需要它的通用实现。

如下:

URI uri = new URI("http://m.facebook.com/category/1231/messages");
String[] parts = uri.getPath().split("/");
String stringId = parts[parts.length-1];
int id = Integer.parseInt(stringId);

如果模式总是这样:
”http://m.facebook.com/category/“+number+”/messages“
?您只需要获取数字,然后,您可以按如下方式提取它(根据):

这假设url中出现的唯一数字是您希望提取的数字

更新:

如果id也可以是字符串,则可以执行以下操作:

String tmpResult = url.substring(0, url.lastIndexOf("/"));
String finalResult = tmpResult.substring(tmpResult.lastIndexOf("/")+1);
更新2:

由于您不想使用
lastIndexOf
方法(出于某种原因),并且由于您可能会得到一个字符串作为id,下面是您可以做的事情(使用MShaposhnik的答案):


模式总是“?如果url是这样的”我想得到String@Shuchita,请查看我的更新答案,这可能不是最佳答案,但非常直观。我将看看是否可以改进它。我不想使用最后一个索引。还有其他方法吗?是的,有MShaposhnik的方法。您将字符串按“/,放入一个大小为
n
的数组中,然后得到位于
n-2
位置的元素。如果url是这样的呢“m.facebook.com/category/String/messages,我想获取字符串如果它可以是字符串,则需要测试is stringId变量是否为数字。举例来说,这是解决问题的方法。实际上,您希望元素位于
parts.length-2
String tmpResult = url.substring(0, url.lastIndexOf("/"));
String finalResult = tmpResult.substring(tmpResult.lastIndexOf("/")+1);
String url; //the input
String finalResult; //the output
String[] split = url.split("/");
if (split.length > 2) {
    finalResult = split[split.length-2];
}