java从url中剪切文件扩展名

标签 java regex string url

我需要像这样从 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
        }

但也许我可以做得更快?

最佳答案

你可以试试这个,

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

DEMO

关于java从url中剪切文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31695454/

相关文章:

java - Glassfish 2.0 Poodle 漏洞 - 如何禁用 SSL 并仅允许 TLS

regex - 使用 Bash 正则表达式匹配单词边界

c - 构建节点时内存分配失败

c# - 如何从 SQLite 数据库中以字符串数据类型的形式从 Select 查询获取数据?

java - 读取文件中所有剩余字节

java - 枚举而不是 Java 中的普通类

Java : How to remove quotes from Json keys using regex

regex - Apache ProxyPass - 正则表达式排除文件

python-3.x - 在 PyCharm 中重构字符串连接以格式化

java - HazelcastClient 具有相同 HazelcastItance 的故障转移集群