NSRange and NSString对象
http://www.cnblogs.com/pengyingh/articles/2451292.html
当谈到NSString方法时,你会发现很多都涉及到NSRange。不必操心。它事实上仅仅只是是一种C语言结构用来帮助描写叙述一系列的条款,包含一个起点位置和一个计数方法。比如。一个行列通过从还有一个字符串中摘取一个子字符串的方法是非常有效的。你能够对其指定起始位置以及所需的元素数量(以下会向你详细阐述)。
NSRange 定义
关于NSRange的结构。定义例如以下:
typedef struct_NSRange
{
NSUInteger location;
NSUInteger length;
} NSRange;
location是在行列中的起始位置(基于零点)而length是行列中的条目个数。NSUInteger仅仅是单纯的一个无符号的值,它支持32位和64位系统。
以下是有关它的定义:
#if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE ||TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
typedef unsigned long NSUInteger;
#else
typedef unsigned int NSUInteger;
#endif
NSRange和字符串
这个演示样例告诉了你一个创建行列的方法,通过使用同样的字符串来摘录一个子字符串——输出结果为IPA
NSString *homebrew= @"ImperialIndia Pale Ale (IPA)";
//起始位置为25,获取3个特征值
NSRange range =NSMakeRange (25,3);
//这样的方法相同有效
// NSRange行列为{25, 3}
NSLog (@"Beershortname: %@", [homebrewsubstringWithRange:range]);
假设你想要搜寻一个子字符串,你能够通过下列代码:
NSString *homebrew= @"ImperialIndia Pale Ale (IPA)";
NSRange range = [homebrew rangeOfString:@"IPA"];
// Did we find the string "IPA" ? 我们找到字符串"IPA"了么?
if (range.length> 0)
NSLog(@"Range is: %@", NSStringFromRange(range));
输出结果将显示为:Range is: {25, 3}。当中有一点非常重要,就是指令NSStringFromRange()将显示传回(一个行列)的值作为一个NSString。相同你还能够通过创建一个字符串的行列得到一个NSRangeFromString()功能。
让我们再看还有一个演示样例,下述代码将从字符串的末尾開始向前搜索“ia”字符串:
NSString *homebrew= @"ImperialIndia Pale Ale (IPA)";
//从末尾開始搜索"ia"字符串
NSRange range = [homebrew rangeOfString:@"ia"options:NSBackwardsSearch];
//判别查找到的字符串是否正确
if (range.length> 0)
NSLog(@"Range is: %@", NSStringFromRange(range));
上述结果将显示为:Range is: {12, 2}(“ia”出如今单词“India”中)
NSRange功能
下面就是在处理行列时,可能须要的一些功能:
NSEqualRanges()
NSIntersectionRange()
NSLocationInRange()
NSMakeRange()
NSMaxRange()
NSRangeFromString()
NSStringFromRange()
NSUnionRange()
NSRange and NSString对象的更多相关文章
- (转载)OC学习篇之---Foundation框架中的NSString对象和NSMutableString对象
在之前的一篇文章中我们说到了Foundation框架中的NSObject对象,那么今天在在来继续看一下Foundation框架中的常用对象:NSString和NSMutableString. 在OC中 ...
- OC学习篇之---Foundation框架中的NSString对象和NSMutableString对象
今天在在来继续看一下Foundation框架中的常用对象:NSString和NSMutableString 在OC中NSString对象是不可变的,和Java中的String一样的,而NSMutabl ...
- iOS --转载 NSRange 和 NSString 详解
一.NSRange 1.NSRange的介绍 NSRange是Foundation框架中比较常用的结构体, 它的定义如下: typedef struct _NSRange { NSUInteger l ...
- NSString 对象保存在哪? @“xxx”和 stringWithFormat:@"xxx" 区别?
NSString *str1=@"string";//这种是保存在常量池 NSString *str2=@"string"; NSLog(@"str1 ...
- ios7对于NSString对象进行了的变更
1.instancetype替代id来做返回值的类型.
- Foundation框架-NSString和NSMutableString
可变与不可变的字符串 --1-- Foundation框架介绍 1.1 框架介绍 --2-- NSString 2.1 NSString介绍及使用 2.2 NSString创建方式 2.3 从文件中 ...
- iOS基础-NSString及NSMutableString剖析
一.NSString头文件 NSString : NSObject 实现协议: NSCopying/NSMutableCopying/NSSecureCoding 类别: //扩展类别 NSStrin ...
- NSString学习
基本概念 NSString是以UTF-16 code uint的序列.所有的长度.字符.范围都是以16比特platform-endian(大端序小段序基于平台)的形式表示的. 所以,一个英文字母的长度 ...
- OC第二节 —— NSString和NSMutableString
1.为什么需要NSString对象 答:在OC中创建字符串时,一般不使用C的方法, 因为C将字符串作为字符数组,所以在操作时会有很多不方便的地方, 在Cocoa中NSStri ...
随机推荐
- Ajax实现文件的上传
Ajax实现文件的上传 准备 ajax的参数补充 type不写的话默认是GET dataType和ContentType: dataType: 浏览器发给服务器希望返回的数据类型 .. 如果明确地指定 ...
- BZOJ 4173 数论
思路: $(m%k+n%k>=k) *phi(k)$ $我们不妨设n=q_1k+r_1 m=q_2k+r$2 $n+m=(q_1+q_2)k+r1+r2$ ${\lfloor}\frac{n+m ...
- C#入门经典 Chapter4 流程控制
4.1布尔逻辑 布尔比较运算符 == != < > <= >= 处理布尔值的布尔值运算符 ! & | ^(异或) 条件布尔运算符 &&am ...
- Ajax——异步基础知识(三)
封装异步请求 1.将函数作为参数进行使用 2.因为获取数据是在一个注册事件中获取的,所以只有事件触发的时候才会调用此函数 <!DOCTYPE html> <html lang=&qu ...
- jquery jstree 插件的使用
最近一个项目 需要用到jstree 这个jQuery插件,就研究了下,做目录树 菜单还是很强大的,下面对经常会用到几个用法做下说明. 1. 首先页面 引用 jquery.jstree 2. html ...
- java_randomAccessFile类的使用
RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件.RandomAccessFile支持随机访问文件,可以访问文件的任意位置 (1)java文件模型 在硬盘上 ...
- Discuz 取消 应用更新提醒 方法
管理员每次登录论坛,遇有后台没有更新的应用都会有应用更新提醒提醒,而且关了还会继续弹出,问题是有些应用原来我装了免费的,新版本推出来了是 要收费的,我不想要更新,或者是即使有免费的新版本了,而我只要使 ...
- 表单enctype属性传值问题
form表单的enctype设置为multipart/form-data后,表单中除了文件后台能拿到,其他值后台都拿不到. 知识点: 一.application/x-www-form-urlencod ...
- iview表单密码自定义验证
From中定义 ref="passwordForm" 获取dom节点 :model="passwordForm" 关联表单数据对象 :rules=&quo ...
- IDEA 基本配置
idea使用基本配置 1配置JDK开发环境 File->project structure: 2取消自动更新 file->setting:Appearance &Behavior下 ...