黑马程序员 NSRange的基础知识总结及应用
来源:互联网 发布:淘宝上的内衣有图评论 编辑:程序博客网 时间:2024/05/01 03:40
//一、NSRange是一个结构体,表示一段范围
/*
typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
} NSRange;
*/
//NSUInteger是一个自定义无符号长整型typedef unsigned long NSUInteger;
//location表示起始位置
//length表示长度
/*二、创建方式:大致有四种
1.{location,length} NSRange range={2,4};
2.NSMakeRange(location,length)
3.先定义,然后range.location,range.length
4. NSRange range3={.location=2,.length=4};
*/
三、代码分析
#import <Foundation/Foundation.h>
int main(){
@autoreleasepool {
NSRange range={2,4};//第一种方式
NSLog(@"%@",NSStringFromRange(range));
NSRange range1= NSMakeRange(2,4);//第二种方式
NSLog(@"%@",NSStringFromRange(range1));
NSRange range2;//第三种方式
range2.location=2;
range2.length=4;
NSLog(@"%@",NSStringFromRange(range2));
NSRange range3={.location=2,.length=4};//第四种方式
NSLog(@"%@",NSStringFromRange(range3));
NSString *str=@"i am the best best";
NSString *str1=@"best";
NSRange range4= [strrangeOfString:str1];//查找某一串字符是否存在于另一个字符串中
NSLog(@"loc=%lu,len=%lu",range4.location,range4.length);
if (range.location==NSNotFound) {//如果没有查找到字符串,则结果是NSNotFound
NSLog(@"不存在");
}
NSRange range5= [strrangeOfString:str1options:NSBackwardsSearch];//实现反向查找
NSLog(@"loc=%lu,len=%lu",range5.location,range5.length);
}
return0;
}
//结果打印如下
/*
2016-01-27 23:57:00.274 OC 5[2076:113487] {2, 4}
2016-01-27 23:57:00.276 OC 5[2076:113487] {2, 4}
2016-01-27 23:57:00.276 OC 5[2076:113487] {2, 4}
2016-01-27 23:57:00.276 OC 5[2076:113487] {2, 4}
2016-01-27 23:57:00.276 OC 5[2076:113487] loc=9,len=4
2016-01-27 23:57:00.276 OC 5[2076:113487] loc=14,len=4
Program ended with exit code: 0 */
- 黑马程序员 NSRange的基础知识总结及应用
- 黑马程序员--NSRange的使用
- 黑马程序员---基础知识总结
- 黑马程序员-关于java多线程的总结及应用
- 黑马程序员 Java基础知识总结-IO流(应用总结)
- 黑马程序员---总结的java基础知识
- 黑马程序员-------Foundation框架 NSRange
- 黑马程序员---Java的概述及基础知识
- 黑马程序员_JavaSE基础知识总结五:类与对象的区分及封装特性
- 黑马程序员-基础知识学习总结
- 黑马程序员 02基础知识总结
- 黑马程序员------java基础知识总结
- 黑马程序员_01Java基础知识总结
- 黑马程序员---java基础知识总结
- 黑马程序员-基础知识部分总结
- 黑马程序员 基础知识小总结
- 黑马程序员__oc基础知识总结
- 黑马程序员_Java基础知识总结
- C++ 学习笔记之代码重用
- 【2016/1/27】 网络编程 - TCP协议
- 关于notification.setLatestEventInfo()的替代方法
- Broadcast内部机制讲解
- Prince and Princess(动态规划)
- 黑马程序员 NSRange的基础知识总结及应用
- UVALive 4960Sensor network(MST+LCA)
- [二分+线段树构图+网络流]CodeForces 589FGourmet and Banquet
- java中static作用详解
- 人力资源管理总结
- poj2441(状态压缩dp)
- eclipse maven plugin 插件 安装 和 配置
- Android的编译过程 & Android dex 方法限制的一些总结
- 【杭电】[1232]畅通工程