Java 使用扩展名表单URL提取文件名
假设我有以下字符串Java 使用扩展名表单URL提取文件名,java,Java,假设我有以下字符串 http://i2.kym-cdn.com/photos/images/original/000/748/132/b84.png 从中提取b84.png的最佳方法是什么?我的程序将获得一个图像URL列表,我想从每个URL中提取文件名及其扩展名。试试看 String url = "http://i2.kym-cdn.com/photos/images/original/000/748/132/b84.png"; String fileName = url.subString(
http://i2.kym-cdn.com/photos/images/original/000/748/132/b84.png
从中提取b84.png的最佳方法是什么?我的程序将获得一个图像URL列表,我想从每个URL中提取文件名及其扩展名。试试看
String url = "http://i2.kym-cdn.com/photos/images/original/000/748/132/b84.png";
String fileName = url.subString(url.lastIndexOf("/")+1);
我认为,stringlastindexof方法是提取文件名的最佳方法
String str = "http://i2.kym-cdn.com/photos/images/original/000/748/132/b84.png";
String result = str.substring(str.lastIndexOf('/')+1,str.length());
你可以试试这个-
String url = "http://i2.kym-cdn.com/photos/images/original/000/748/132/b84.png"
url = url.substring(url.lastIndexOf("."));
如果不使用png而不是.png,只需将最后一行更改为-
url = url.substring(url.lastIndexOf(".") + 1);
我建议使用创建一个文件
,如下所示:
String url = "http://i2.kym-cdn.com/photos/images/original/000/748/132/b84.png";
URI uri = URI.create(url);
File f = new File(uri.getPath());
uri.getPath()
仅返回url的路径部分(即删除方案、主机等),并生成以下内容:
/photos/images/original/000/748/132/b84.png
然后,您可以使用创建的文件对象从完整路径中提取文件名:
String fileName = f.getName();
System.out.println(fileName);
打印语句的输出将是:
b84.png
但是,如果您根本不关心url的输入格式,那么子字符串的答案会更简洁。我想我会提供一个替代方案。希望对你有所帮助。这个方法非常适合你
public String Name(String url){
url=url.replace('\\', '/');
return url.substring(url.lastIndexOf('/')+1,url.length());
}
此方法返回任何目录的任何文件名…省略错误,因为将“\”转换为“/”,因此不会出现不同目录的问题
public String Name(String url){
url=url.replace('\\', '/');
return url.substring(url.lastIndexOf('/')+1,url.length());
}