在java中,从给定url获取1231的一般方法应该是什么
“; 我想从指定的Url获取1231。我有很多url的,我需要做同样的事情。我需要它的通用实现。如下:在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); 如果模式总是这样:
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];
}