我需要帮助修剪字符串网址。
假设字符串为http://myurl.com/users/232222232/pageid
我想要的回复是/232222232/pageid
现在'myurl.com'可以更改,但/users/
将始终相同。
答案 0 :(得分:4)
我建议您使用substring
和indexOf("/users/")
。
String url = "http://myurl.com/users/232222232/pageid";
String lastPart = url.substring(url.indexOf("/users/") + 6);
System.out.println(lastPart); // prints "/232222232/pageid"
稍微复杂一点的变体是让URL
类为你解析网址:
URL url = new URL("http://myurl.com/users/232222232/pageid");
String lastPart = url.getPath().substring(6);
System.out.println(lastPart); // prints "/232222232/pageid"
第三种方法,使用正则表达式:
String url = "http://myurl.com/users/232222232/pageid";
String lastPart = url.replaceAll(".*/users", "");
System.out.println(lastPart); // prints "/232222232/pageid"
答案 1 :(得分:2)
String rest = url.substring(url.indexOf("/users/") + 6);
答案 2 :(得分:1)
string.replaceAll(".*/users(/.*/.*)", "$1");
答案 3 :(得分:1)
您可以使用split(String regex,int limit)
将regex
模式中的字符串拆分最多limit
次,所以......
String url="http://myurl.com/users/232222232/pageid";
String[] parts=url.split("/users",1);
//parts={"http://myurl.com","/232222232/pageid"}
String rest=parts[1];
//rest="/232222232/pageid"
限制是为了防止像"http://myurl.com/users/232222232/users/pageid"
这样的字符串给出"/232222232"
等答案。
答案 4 :(得分:0)
您可以使用String.indexOf()
和String.substring()
来实现此目标:
String pattern = "/users/";
String url = "http://myurl.com/users/232222232/pageid";
System.out.println(url.substring(url.indexOf(pattern)+pattern.length()-1);