删除除String的最后部分之外的所有内容?

时间:2013-04-15 16:42:38

标签: java string url

我会用什么样的方法来实现这个目标:

http://www.site.net/files/file1.zip

file1.zip

4 个答案:

答案 0 :(得分:7)

String yourString = "http://www.site.net/files/file1.zip";  
int index = yourString.lastIndexOf('/');    
String targetString = yourString.substring(index + 1);  
System.out.println(targetString);// file1.zip

答案 1 :(得分:1)

String str = "http://www.site.net/files/file1.zip";
        str = str.substring(str.lastIndexOf("/")+1);

答案 2 :(得分:1)

您可以使用正则表达式提取最后一部分:

@Test
public void extractFileNameFromUrl() {
    final Matcher matcher = Pattern.compile("[\\w+.]*$").matcher("http://www.site.net/files/file1.zip");
    Assert.assertEquals("file1.zip", matcher.find() ? matcher.group(0) : null);
}

它只返回“file1.zip”。这里包含的测试用于验证代码。

答案 3 :(得分:0)

使用拆分:

String[] arr = "http://www.site.net/files/file1.zip".split("/");

然后:

String lastPart = arr[arr.length-1];

更新:另一种更简单的方法:

File file = new File("http://www.site.net/files/file1.zip");
System.out.printf("Path: [%s]%n", file.getName()); // file1.zip