MeetJoeBlack
MeetJoeBlack

Reputation: 2924

java cut file extension from url

I need to cut file extension from urls like this:

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

So I want to get 'svg' and 'eot'. Im doing it like this(note that I want to avoid all spec chars not only "#"):

 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
        }

But maybe I can do it faster?

Upvotes: 3

Views: 525

Answers (1)

Avinash Raj
Avinash Raj

Reputation: 174874

You may try this,

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

DEMO

Upvotes: 1

Related Questions