如何获取 URI 的最后一个路径段

2022-08-31 08:09:28

我有一个字符串作为输入,它是一个.如何获取最后一个路径段(在我的情况下是一个id)?URI

这是我的输入网址:

String uri = "http://base_path/some_segment/id"

我必须获得我尝试过的id:

String strId = "http://base_path/some_segment/id";
strId = strId.replace(path);
strId = strId.replaceAll("/", "");
Integer id =  new Integer(strId);
return id.intValue();

但它不起作用,当然必须有更好的方法来做到这一点。


答案 1

是你正在寻找的:

URI uri = new URI("http://example.com/foo/bar/42?param=true");
String path = uri.getPath();
String idStr = path.substring(path.lastIndexOf('/') + 1);
int id = Integer.parseInt(idStr);

或者

URI uri = new URI("http://example.com/foo/bar/42?param=true");
String[] segments = uri.getPath().split("/");
String idStr = segments[segments.length-1];
int id = Integer.parseInt(idStr);

答案 2
import android.net.Uri;
Uri uri = Uri.parse("http://example.com/foo/bar/42?param=true");
String token = uri.getLastPathSegment();