我正在尝试从URL中提取具有某些特定扩展名的文件名.例如,我有一个像" https://abc.xyz.com/path/somefilename.xy " 的URL .我需要从上面的URL中提取"somefilename.xy",而不是其他内容.
基本上我需要在我的java程序中编写该代码
我在正则表达式中表现不佳,所以有人可以帮助我.
您也可以在没有正则表达式的情况下执行此操作:
String url = "https://abc.xyz.com/path/somefilename.xy";
String fileName = url.substring(url.lastIndexOf('/') + 1);
// fileName is now "somefilename.xy"
Run Code Online (Sandbox Code Playgroud)
编辑(归功于@SomethingSomething):如果你还应该支持带参数的网址,比如https://abc.xyz.com/path/somefilename.xy?param1=blie¶m2=bla,你可以使用它:
String url = "https://abc.xyz.com/path/somefilename.xy?param1=blie¶m2=bla";
java.net.Url urlObj = new java.net.Url(url);
String urlPath = urlObj.getPath();
String fileName = urlPath.substring(urlPath.lastIndexOf('/') + 1);
// fileName is now "somefilename.xy"
Run Code Online (Sandbox Code Playgroud)