下面是官方的说明:

源字符串

 
--->    
结果字符串
“/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. Swift语言学习之OC和Swift混编

    本文转自http://www.helloswift.com.cn/swiftbase/2015/0112/3469.html iOS OC和Swift混编 1.创建一个swift或者oc的工程:我这里 ...

  2. iOS开发之APP推送设置WIFI

    在iOS开发过程中,有时需要连接网络.当访问请求,检测到网络不可用时,需要提示用户手动进行设置网络并告知用户操作路径设置可用的网络. 只需一行代码即可实现: - (void)viewDidLoad { ...

  3. [CSS] vertical-align

    原文地址: http://www.zhangxinxu.com/wordpress/2010/05/%E6%88%91%E5%AF%B9css-vertical-align%E7%9A%84%E4%B ...

  4. easyui 进度条

    进度条创建 $.messager.progress({ title:'请稍后', msg:'正在努力...' }); 进度条关闭 $.messager.progress('close'); 弹窗对话框 ...

  5. x265

    1.编译库 https://bitbucket.org/multicoreware/x265/src/tip/build/README.txt?at=default 2.无法定位程序输入点x265_e ...

  6. KD-tree

    就是K维空间上的二叉查找树. 每个node对应k维空间的超矩形区域 在方差最大的维度上,比较数据与kd-tree的根节点.中间节点,在该维度上的中值处划分,得到新的子空间,直到不能再分. 用于最近邻查 ...

  7. phalcon几种分页方法

    phalcon几种分页方法 一: use Phalcon\Paginator\Adapter\Model as PaginatorModel; // Current page to show // I ...

  8. iOS蓝牙4.0开发(BLE)

    智能设备 和 app 通过 BLE通讯的两种模型 模型一:设备提供数据,app 展示数据: 比如小米手环 模型二:app提供数据,设备接收: 模型与corebluetooth的对应关系: 模型一:智能 ...

  9. java 多线程2

    class MyThread extends Thread { @Override public void run() { super.run(); for (int i = 0; i < 50 ...

  10. dede调用文章里的图片

    {dede:arclist row='6' orderby='pubdate' typeid='5' idlist='' channelid='1'} <li><a href='[f ...