需要修剪Java字符串

时间:2011-10-07 13:32:49

标签: java

我需要帮助修剪字符串网址。

假设字符串为http://myurl.com/users/232222232/pageid

我想要的回复是/232222232/pageid

现在'myurl.com'可以更改,但/users/将始终相同。

5 个答案:

答案 0 :(得分:4)

我建议您使用substringindexOf("/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);