下面是官方的说明:

源字符串

 
--->    
结果字符串
“/tmp/scratch.tiff”  
--->    
“scratch.tiff”
“/tmp/scratch”  
--->    
“scratch”
“/tmp/”  
--->    
“tmp”
“scratch”  
--->    
“scratch”
“/”  
--->    
“/”

获取网络数据或者路径的文件名以及后缀
2012年02月10日 星期五 14:38
//
从路径中获得完整的文件名(带后缀)

exestr = [filePath lastPathComponent]; 
NSLog(@"%@",exestr); 
// 获得文件名(不带后缀) 
exestr = [exestr
stringByDeletingPathExtension];

NSLog(@"%@",exestr); 
 
// 获得文件的扩展类型(不带'.') 
exestr = [filePath pathExtension]; 
NSLog(@"%@",exestr);

NSString *path = @"~/textFile.txt"; 
NSString *pathExtension = [path
pathExtension]; 
pathExtension这个字符串的值将是“txt”。句点将被去掉了。如果没有句点指明扩展名,将返回一个空串。如果文件不存在,也将返回空串

[[imageName componentsSeparatedByString:@"."]
objectAtIndex:0] 
用.分开, objectAtIndex:0为文件名,
objectAtIndex:1为后缀

iPhone-获取网络数据或者路径的文件名

iPhone中,在网络中的数据流中提取链接中的文件名称时,有很多方法,这里总结一些。 
方法一:最直接。 
NSString * urlString =
@”http://www.baidu.com/img/baidu_logo_fqj_10.gif”;

NSString *fileName = [urlString
lastPathComponent]; 
NSLog(@”%@”,fileName); 
 
方法二:根据字符或者时字符串分割。 
NSString *link =
@”http://www.baidu.com/img/baidu_logo_fqj_10.gif”;

NSString *filename = [[NSString alloc]
init]; 
NSArray *SeparatedArray = [[NSArray
alloc]init]; 
SeparatedArray =[link
componentsSeparatedByString:@"/"]; 
filename = [SeparatedArray lastObject]; 
NSLog(@”%@”,SeparatedArray); 
NSLog(@”%@”,filename); 
[filename release];

方法三:将链接看成路径。 
NSString * urlString =
@”http://www.baidu.com/img/baidu_logo_fqj_10.gif”;

NSArray *urlCom = [[NSArray alloc]initWithArray:[url
pathComponents]]; 
NSLog(@”%@”,[urlCom lastObject]); 
[urlCom release];

方法四:NSRange.它在截取二进制文件的时候十分方便。 
NSString * urlString =
@”http://www.baidu.com/img/baidu_logo_fqj_10.gif”;

NSString * fileName; 
NSRange range = [urlString rangeOfString:@"/"
options:NSBackwardsSearch]; 
if (range.location != NSNotFound) 

fileName = [urlString
substringFromIndex:range.location+1]; 
if([[fileName
lowercaseString]hasSuffix:@”.gif”]) 

NSLog(@”%@”,fileName); 


else 

return; 
}

 
 
 

lastPathComponent的功能的更多相关文章

  1. 制作类似ThinkPHP框架中的PATHINFO模式功能

    一.PATHINFO功能简述 搞PHP的都知道ThinkPHP是一个免费开源的轻量级PHP框架,虽说轻量但它的功能却很强大.这也是我接触学习的第一个框架.TP框架中的URL默认模式即是PathInfo ...

  2. PHP搭建大文件切割分块上传功能

    背景 在网站开发中,文件上传是很常见的一个功能.相信很多人都会遇到这种情况,想传一个文件上去,然后网页提示"该文件过大".因为一般情况下,我们都需要对上传的文件大小做限制,防止出现 ...

  3. SQL Server2014 SP2新增的数据库克隆功能

    SQL Server2014 SP2新增的数据库克隆功能 创建测试库 --创建测试数据库 create database testtest use testtest go --创建表 )) --插入数 ...

  4. SQL Server 数据加密功能解析

    SQL Server 数据加密功能解析 转载自: 腾云阁 https://www.qcloud.com/community/article/194 数据加密是数据库被破解.物理介质被盗.备份被窃取的最 ...

  5. Taurus.MVC 2.2 开源发布:WebAPI 功能增强(请求跨域及Json转换)

    背景: 1:有用户反馈了关于跨域请求的问题. 2:有用户反馈了参数获取的问题. 3:JsonHelper的增强. 在综合上面的条件下,有了2.2版本的更新,也因此写了此文. 开源地址: https:/ ...

  6. TinyWeb v1.0 正式完成第一个Release版本(功能基于 libuv 跨平台库)

    使用方法很简单,很容易融入现有项目,使现有项目拥有Web网站功能和WebSocket,以及Socket直连! 并且包含了一个跨平台(windows/linux)工具集合; 嗯,也挺棒的^,^ 在项目中 ...

  7. Java 8五大主要功能为开发者提供了哪些便利?

    两年前当Java 8发布后,立即受到了业界的欢迎,因为它大大提高了Java的性能.它独特的卖点是,顾及了编程语言的每一个方面,包括JVM(Java虚拟机)和编译器,并且改良了其它帮助系统. Java是 ...

  8. Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇

    原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue-loader 是一个加载器,能把如下格式的 Vue ...

  9. .Net Core MVC 网站开发(Ninesky) 2.2、栏目管理功能-System区域添加

    在asp或asp.net中为了方便网站的结构清晰,通常把具有类似功能的页面放到一个文件夹中,用户管理功能都放在Admin文件夹下,用户功能都放在Member文件夹下,在MVC中,通常使用区域(Area ...

随机推荐

  1. stdlib标准库的常用API

    iOS 有如下四种随机数方法,下面以产生 [0,100) 的随机数为例: 1. srand((unsigned)time(0));  //不加这句每次产生的随机数不变 int i = rand() % ...

  2. vs2010工程迁移问题,x64到Win32

    ALL_BUILD:vcxproj:找不到项目文件“ALL_BUILD”中引用的平台“x64”.请确保已将该平台安装在“%VCTargetsPath%\Platforms\x64”下.无法加载项目. ...

  3. vsphere vcenter 添加域管理员

    选择 vcenter server  管理权限

  4. 关于ipxe启动的几个疑问

    关于ipxe启动的几个疑问 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=373026&page=1&extra=#pid ...

  5. virtualBox虚拟机安装与主机互访和实现上网配置

    1.到官方网下载vitualBox虚拟机,目前最新版本5.0,并安装. https://www.virtualbox.org/ 2.下载安装CentOS系统安装文件 本文采用CentOS-6.5-i3 ...

  6. linux笔记:RPM软件包管理-rpm命令管理

    rpm包命名原则: rpm包的依赖性: 包名和包全名: rpm软件包安装.升级和卸载: rpm软件包查询: 从rpm包中提取指定文件:

  7. Git 分支管理是一门艺术

    转载: Git 分支管理是一门艺术 1 要确保:团队成员从主分支(master)获得的都是处于可发布状态的代码,而从开发分支(develop)应该总能够获得最新开发进展的代码. 2 "辅助分 ...

  8. 20145218 《Java程序设计》第二周学习总结

    Java中的注释格式 单行注释 //注释文字 多行注释 /注释文字/ 文档注释 /**注释文字*/ 注释不仅仅是对代码进行解释,在上一篇博客中也写过,注释也可以用来检查程序中的错误,可以说是一个小窍门 ...

  9. WANL标准组织介绍-02

    无线电管理委员会 FCC ETSI IEEE Wi-Fi IETF WAPI 国家无线电管理委员会认证 国家无线电管理委员会认证(State Radio Regulatory Commission o ...

  10. c语言详解sizeof

    一.sizeof的概念   sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等.     它并不是函数.     sizeof操作符以字节形式给出了其操作数的存储大小.     操 ...