【问题标题】:java cut file extension from urljava从url剪切文件扩展名
【发布时间】:2015-10-20 03:20:23
【问题描述】:

我需要像这样从 url 中删除文件扩展名:

http://static.gazeta.ru/nm2012/fonts/light/pts_regular_caption.svg#PTSans-CaptionBold

http://2.cdn.echo.msk.ru/assets/../fonts/echo_font-v5.eot#iefix

所以我想获得“svg”和“eot”。 我这样做(请注意,我想避免所有规范字符,而不仅仅是“#”):

 String extension = path.substring(path.lastIndexOf(".") + 1) ;   //cut after dot path
     extension = extension.replaceAll("[^A-Za-z0-9]", ";");   // replace all special character on ";"

        if(extension.indexOf(";") > 0) {
            extension = extension.substring(0, extension.indexOf(";")); // cut extension before first spec. char
        }

但也许我可以做得更快?

【问题讨论】:

  • 使用 URI 类将 URL 解析为各个部分,获取路径并由 / 分割,然后查找扩展名。

标签: java regex string url


【解决方案1】:

你可以试试这个,

Matcher m = Pattern.compile("[^/.]*\\.(\\w+)[^/]*$").matcher(s);
if(m.find())
{
System.out.println(m.group(1));
}

DEMO

【讨论】:

  • 这会给像example.com/#/path/do.nothing这样的URL错误的结果
猜你喜欢
  • 2013-04-10
  • 1970-01-01
  • 1970-01-01
  • 2020-08-17
  • 1970-01-01
  • 2010-10-30
  • 2016-06-08
  • 1970-01-01
相关资源
最近更新 更多