OC字符串

来源:互联网 发布:手游日常数据分析 编辑:程序博客网 时间:2024/05/16 05:59
////  main.m//  字符串////  Created by dingkang on 15/6/17.//  Copyright (c) 2015年 丁康. All rights reserved.//#import <Foundation/Foundation.h>//  结构体的关键字  struct//  一个整体:   由不同数据类型组成的一个整体typedef struct Person{int age;    char *name;}Person;int main(int argc, const char * argv[]) {    @autoreleasepool {        Person person;        person.age = 20;        person.name = "蓝精灵";        Person liuYong;        liuYong.age = 99;        liuYong.name = "刘罗锅";

Cocoa中用来处理字符串的是NSString
字符串 可变字符串
字符串的初始化方式

 NSString *string = [[NSString alloc]init]; NSString *string1 = [NSString string]; NSString *string2 = [[NSString alloc]initWithString:string1]; NSString *string3 = @"..."; //    给字符串赋值 string = @"11111";

字符串的处理
1、字符串的 格式化处理(格式化字符串)

int age = 20;NSString *name = @"陈真";NSString *info = [NSString stringWithFormat:@"%@今年%d",name,age];NSLog(@"%@",info);

输出结果:陈真今年20


截取哪一个位置的字符串
2、从哪个位置 开始截取字符串
Index不是下标 所以不是从0开始 (从第2个字后面开始截取字符串 截取前:陈真今年20)

NSString *newString = [info substringFromIndex:2];        NSLog(@"%@",newString);

输出结果:今年20


3、截取 字符串到 哪个位置

NSString *message = @"锄禾日当午,汗滴禾下土,。。。";//从index 12 处开始截取  到结束NSString *String = [message substringFromIndex:12];NSLog(@"%@",String);//从开头截取到 index 为12处NSLog(@"%@",[message substringToIndex:12]);//从开头截取到 index为5处NSLog(@"%@",[message substringToIndex:5]);

输出结果:
。。。
锄禾日当午,汗滴禾下土,
锄禾日当午


4.截取字符串从哪儿到哪儿

        NSRange range;//        定义结构体的位置        range.location = 6;//        在这个位置的基础之上  继续数几个长度        range.length = 5;//        从index 为6处开始  向后截取 5 个长度        NSLog(@"%@",[message substringWithRange:range]);        NSRange range1;        range1.location = 5;        range1.length = 7;        //        从index 为5处开始  向后截取 7 个长度        NSLog(@"%@",[message substringWithRange:range1]);

输出结果:
汗滴禾下土
,汗滴禾下土,


5、 把字符串 通过指定字符 分割成数组

 NSString *result = @"武松打虎duang!duang!duang! 老虎跑下山 ya~ya~ya"; //将上面字符串按照 空格  分割成数组 NSArray *resultList = [result componentsSeparatedByString:@" "]; //遍历数组  输出遍历后的内容        for (NSString *an in resultList) {            NSLog(@"%@",an);        }

输出结果:

 武松打虎duang!duang!duang! 老虎跑下山 ya~ya~ya

6、英文字符的操作

//        把所有英文字母 转成大写        NSString *str = @"bLuebuff";        NSLog(@"%@",str.uppercaseString);//        把所有英文字母转换成小写        NSLog(@"%@",str.lowercaseString);//        首字母大写        NSLog(@"%@",str.capitalizedString);

输出结果:

BLUEBUFFbluebuffBluebuff

7、拼接字符串
1.stringWithFormat:
不可变字符串的拼接,是在原来的基础上是 在拼接一个字符串 生成另外一个新的字符串
不可变字符串 字符串拼接的两个方法 都会生成一个新的字符串

 NSString *ss = @"我是"; NSString *ss1 = @"好人"; NSString *all = [ss stringByAppendingString:ss1]; NSLog(@"%@",all); NSLog(@"%@",[ss stringByAppendingFormat:@"%@不可能",ss1]);

输出结果:

我是好人我是好人不可能

8、查询字符串
判断字符串 是否包含某个字符串

 NSString *sss = @"上山打老虎跑了"; NSString *string = @"老虎"; NSRange range3 = [sss rangeOfString:@"老虎"]; //  range3 相当于 [sss rangeOfString:string]        if ([sss rangeOfString:string].location != NSNotFound) {            NSLog(@"%@",sss);        }else{            NSLog(@"骗人~~~");        }        if (range3.location == NSNotFound) {            NSLog(@"%@",sss);        }else{           NSLog(@"骗人~~~");        }

输出结果:

上山打老虎跑了骗人~~~

9.查询字符串以什么开头(头部包含什么内容)
以什么结尾(尾部包含什么内容)

NSString *sss = @"上山打老虎跑了";//        开头 (Prefix  前缀)        if ([sss hasPrefix:@"上山"] != NO) {            NSLog(@"存在");        }else{            NSLog(@"错误");        }//        结尾  (Suffix  后缀)        if ([sss hasSuffix:@"老虎跑了"]!= NO) {            NSLog(@"存在");        }else{            NSLog(@"错误");        }

输出结果:

存在存在

10、可变字符串的拼接
在原来字符串的基础上 又添加了一个字符串 与原来的字符串 合成一个字符串 (还是原来字符串的对象)

NSMutableString *ant = [NSMutableString stringWithString:@"qqq"];[ant appendString:@"111"];NSLog(@"%@",ant);

输出结果:

qqq111

11、可变字符串的更改
把指定位置的字符串 替换成另外一个字符串

NSMutableString *name1 = [[NSMutableString alloc]initWithString:@"bruce"];NSLog(@"替换前:%@",name1);NSRange range110;range110.location = 1;range110.length = 4;//把"bruce"这个字符串的 index为1开始4个长度这段字符串替换成  "lue"[name1 replaceCharactersInRange:range110 withString:@"lue"];NSLog(@"替换后:%@",name1);

输出结果:

替换前:bruce替换后:blue

12、删除指定位置的字符串

NSMutableString *ssss = [NSMutableString stringWithString:@"我是一名程序员"];NSRange range119;range119.location = 0;range119.length = 4;//删除ssss这个字符串 的index从0开始4个长度的字符串   也就是 "我是一名"[ssss deleteCharactersInRange:range119];NSLog(@"%@",ssss);

输出结果:

程序员
0 0