在两个字符串之间提取字符串

时间:2014-02-03 04:29:52

标签: java string substr substring

我有一个像这样的字符串

String str = "www.google.com/..../upload/FileName.zip

我想从上面的字符串中提取字符串“FileName”。我尝试了substr()方法,但找不到任何解决方案。

4 个答案:

答案 0 :(得分:2)

你可以试试这个

    String str = "www.google.com/..../upload/FileName.zip";
    File file=new File(str);
    String fileName=file.getName();// now fileName=FileName.zip
    System.out.println(fileName.split("\\.")[0]);

Out put:

    FileName

答案 1 :(得分:2)

这是你在找什么?

  String lastPart= yourUrl.substring(yourUrl.lastIndexOf('/')+1, yourUrl.length());
  String fileName = lastPart.substring(0, lastPart.lastIndexOf('.'));

考虑到给定的格式不会改变。

Demo

答案 2 :(得分:1)

获取最后一个斜杠和点之间的部分:

String filename = str.replaceAll(".*?(?:/(\\w+)\\.\\w+$)?", "$1");

这个正则表达式添加了一些特殊的酱,如果找不到目标,则返回空白,使目标成为可选,并且前导表达式不情愿。

答案 3 :(得分:0)

试试这个

String str = "www.google.com/..../upload/FileName.zip";
    String  str1[] = str.split("/");
    String file=str1[str1.length-1];
    String fileName=file.substring(0, file.lastIndexOf("."));
    System.out.println(fileName);

输出

FileName