OC 字符串

原创 2016年08月28日 22:20:18

字符串分为不可变字符串(NSString)和可变字符串(NSMutableString),其中NSMutableString继承于NSString


下面是字符串中常用的方法

1.初始化一个字符串对象
NSString *string1 = @"FBI";
NSString *string2 =  [ NSString stringWithFormat:@"%@%@",@"Jack",@"Rick" ];

2.从本地文件读取字符串
NSString *path = @"/Users/ibokan2/Desktop/未命名文件夹/OC__06/OC__06__01/hello.html";

NSString *string3 = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

3.从网络读取字符串
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];

NSString *string4 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];

4.获取字符串长度
NSString *string5 = @"你是怪兽吗,我都受不了你了";
NSUInteger length = string5.length;

5.截取字符串
NSString *substring1 =[string5 substringToIndex:5]; //截取从字符串开头到to位置的字符串

NSString *subString2 = [string5 substringFromIndex:6]; //截取from后面的字符串

NSString *substring3 = [string5 substringWithRange:NSMakeRange(2, 2)];  // 截取第x个位置开始,长度为y的字符串

6.获取字符串中的某个字符
NSString *string6 = @"abcdefg";
char c =[string6 characterAtIndex:0];  //根据字符串中的位置  来获取一个字符

7.比较两个字符串是否相等
   if( [String5 isEqualToString:String6 ])
   {
       NSLog(@"字符串内容相等");
   }
   else
   {
       NSLog(@"内容不相等");
   }

8.比较两个字符串的大小
    NSString *cmpString1 = @"hehehe";
    NSString *cmpString2 = @"hahaha";
    NSComparisonResult result = [cmpString1 compare:cmpString2];
    switch (result) {
        case NSOrderedAscending:
        {
            NSLog(@"cmpString1<cmpString2,升序");
            break;
        }
        case NSOrderedSame:
        {
            NSLog(@"cmpSring1= cmpString2");
            break;
        }
        case NSOrderedDescending:
        {
            NSLog(@"cmpString 1 >cmpString2,降序");
            break;
        }
    }

9.根据字符串拿到对应的range(位置和长度)
NSRange range = [string5 rangeOfString:@"你"];
打印range有两种方法:
NSLog(@"%@",[NSValue valueWithRange:range]);  //封装成一个对象来输出
NSLog(@"%ld,%ld",range.location,range.length);  //将成员逐个输出

10.判断字符串中是否有xxx前缀 或 xxx后缀
NSString *string7 = @"http://www.baidu.com";
BOOL = flag [string7 hasPrefix:@"http://"];

11.判断是否为 .jpg.png 后缀
NSString *string8 = @"xxxxx.jpg";
BOOL flag = [string8 hasSuffix:@".jpg"];

12.字符串的拼接
NSString *string9 = @"www.baidu.com";
NSString *string10 =[ @"http://" stringByAppendingString:string9];

NSString *string11 = @"http://static.bigstockphoto.com";
NSString *string12 = @"images/homepage/2016_popular_photo_categories.jpg";

NSString *string13 = [string11 stringByAppendingFormat:@"/%@",string12];  //连接两个字符串  并且第二个字符串是按一定格式传进来的
NSString *string14 = [string11 stringByAppendingPathComponent:string12];  //用于拼接文件夹路径  不适于拼接网址  自动在两个字符串中间补充/   

13.取出最后一个反斜杠/ 后面的内容
NSString *string15 =[string14 lastPathComponent];

14.字符串的替换
NSString *string16 = [string5 stringByReplacingOccurrencesOfString:@"你" withString:@"他"];  //把你换成他

15.分割字符串为数组
NSString *string17  = @"aa-bb-cc-dd-ee";
NSArray *array = [string17 componentsSeparatedByString:@"-"];  // 以"-"为分隔符,将原字符串内容进行分割,分割得到的结果放到一个数组里面,作为返回值

由于NSMutableString继承于NSString,所以以上方法NSMutableString都拥有,不过NSMutableString还拥有一些独有的方法

1.在指定位置去插入一个字符串
NSMutableString *mString = [NSMutableString stringWithString:@"你好呵呵"];
[mString insertString:@"啊啊啊" atIndex:3];

2.在字符串末尾添加一个字符串
[mString appendString:@"You are bitch"];

3.在字符串的末尾添加多个字符串
[mString appendFormat:@"%@%@",@"嘎嘎",@"Nick" ];

4.删除指定位置的字符串
[mString deleteCharactersInRange:NSMakeRange(3, 2)];



OC中字符串的简单操作

OC中字符串的简单操作 ///字符串拼接 NSString *str1 = @"mingtian*"; NSString *str2 = @"nihao*"; NSStrin...
  • WANGYURUI_wyr
  • WANGYURUI_wyr
  • 2016年09月07日 11:06
  • 561

OC 简化项目中拼接字符串的方法

在做项目中,经常会有拼接字符串的需求. 比如: 如何拼接字符串能,一般我们会经过这么一个过程: - (void)viewDidLoad { [super viewDidLoad]; ...
  • yanchen_ing
  • yanchen_ing
  • 2016年06月22日 16:16
  • 2162

oc -字符串分割

Objective-C里核心的处理字符串的类就是NSString和NSMutableString这两个类,这两个类完成了Objective-C中字符串大部分功能的处理。这两个类的最主要的区别是NSSt...
  • zx6268476
  • zx6268476
  • 2015年04月04日 11:57
  • 1600

OC中的字符串(NSString)、字符串数组(NSArray)和字典(NSDictionary)

NSString字符串比较方法compare,返回值NSComparisionResult有3个枚举值:NSOrderedAscending(升序),NSOrderedSame(同样),NSOrder...
  • zhudong10
  • zhudong10
  • 2015年12月05日 16:44
  • 631

oc学习之NSSring字符串的常用方法

1,创建字符串对象 char
  • zilan1239
  • zilan1239
  • 2014年06月09日 21:00
  • 11415

OC NSString字符串比较

/*     比较两个字符串:- (NSComparisonResult)compare:(NSString *)string;       返回值是枚举:NSOrderedAscending ...
  • perfect_app
  • perfect_app
  • 2016年03月26日 22:01
  • 2156

OC 数组与字符串

1.OC的数组成员是任意的对象指针    与C中的链表结构类似(以nil结尾)    一切的数组操作不能越界    OC的数组分为不可变数组 NSArray    可变数组 NSMutableA...
  • heikefangxian23
  • heikefangxian23
  • 2014年11月12日 09:19
  • 13166

Objective-C中可变与不可变字符串的学习

为了巩固学习,脱离智能提示,不是在xcode中编辑,是在文本格式下创建 1.创建对象 NSString *str1 = [[NSString alloc] initWithFormat:@"abcde...
  • Sugarjunfeng
  • Sugarjunfeng
  • 2015年07月17日 20:21
  • 631

OC中的字符串属性(深拷贝和浅拷贝)

我们在项目中定义一个字符串属性的时候,有时候见到别人用retain,有时候见到用copy。那么到底这两种用法有什么区别呢? 这就需要我们了解深拷贝和浅拷贝和区别了。 其实copy是创建一个新对象,...
  • qq_29892943
  • qq_29892943
  • 2016年03月05日 14:08
  • 732

工作备忘-ios中oc枚举值与字符串之间的转换

在工作中,枚举类型的使用优势没啥好说的。但经常需要将它与字串进行转换方便显示或其它需求。可惜原生的枚举值只能是int常量,并不支持字符串,我们只能自己对枚举值进行转换,一般有两种方案: 方案1中,多是...
  • jaccty
  • jaccty
  • 2015年10月20日 17:56
  • 3819
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OC 字符串
举报原因:
原因补充:

(最多只允许输入30个字)