我有一个网址
http://www.hdwallpapers.in/walls/honda_v4_concept_widescreen_bike-wide.jpg
我想提取文件名“honda_v4_concept_widescreen_bike-wide.jpg”
我怎么能这样做?
答案 0 :(得分:50)
以下代码应该有效。更新了它,所以我删除了顶部声明。我可以使用NSString vs const char *或来自C ++的std :: string,但我认为C Character Pointers非常适合这种情况。
同样改进了这个,所以它有自己的简洁功能:
-(NSString*) extractFile:(const char*) url
{
NSURL *yourURL = [NSURL URLWithString:
[NSString stringWithCString:url
encoding:NSUTF8StringEncoding]];
return [yourURL lastPathComponent];
}
使用:
const char *path_ = "http://www.hdwallpapers.in/walls/honda_v4_concept_widescreen_bike-wide.jpg";
NSLog(@"\t\tYour Extracted file: \n\t%@", [self extractFile:path_]);
答案 1 :(得分:3)
斯威夫特3:
let urlString = "http://www.hdwallpapers.in/walls/honda_v4_concept_widescreen_bike-wide.jpg"
if let url = URL(string: urlString) {
print("file name: \(url.lastPathComponent)")
} else {
print("error - not a valid url!")
}
答案 2 :(得分:1)
以下代码有效。在另一个答案中推荐使用absoluteString,但如果文件名中有(例如)空格,则无法正常工作。
NSString *JPEGfilename = [[yourURL path] lastPathComponent];
答案 3 :(得分:-2)
只需使用basename basename()
函数
$url = http://www.fullhdwallpapers.in/wp-content/uploads/2017/01/Logan-Movie-Kid-2017-680x425.jpg
echo basename($url);