NSString
2015-08-25 10:37 TemptationM 阅读(102) 评论(0) 收藏 举报一:创建字符串
1> NSString *str1 = @"haha”;//直接创建
2> NSString *str2 = [[NSString alloc]init];//先开辟空间 在赋值
str2 = @"df";
3> NSString *str3 = [NSString string];//利用方法创建对象 然后赋值
str3 = @"dsfa";
二: 在字符串中加一些基本数据类型数字
1> 自定义初始化写法 (可以将整型数字转换为字符串数字)
NSInteger num = 20;
NSString *str4 = [[NSString alloc]initWithFormat:@"today%@", num, str3];
NSLog(@"%@", str4);
2> 便利构造器方法
NSString *str5 = [NSString stringWithFormat:@"今天%@", @"周四" ];
NSLog(@"%@", str5);
三: 将C语言字符串转换为OC字符串
1> 利用方法
char name[] = "myname";
NSString *str6 = [NSString stringWithUTF8String:name];
2> 利用OC转码表
NSString *str7 = [NSString stringWithCString:name encoding:NSUTF8StringEncoding];
四. 字符串的拼改剪插
1> 获取字符串长度
NSString *str = @"中文字符✨✨✨nothing is impossible";
unsigned long len = [str length];
NSLog(@"%lu", len);
2> 判断字符串的前缀和后缀 hasPrefix :前缀 hasSuffix : 后缀
NSString *strUrl = @"http:// www.baidu,com";
//hasPrefix 用来判断字符串是否以某字符串开头, 如果是, 返回YES, 否则返回NO;
BOOL isStart = [strUrl hasPrefix:@"http"];
//hasPrefix 用来判断字符串是否以某字符串开头, 如果是, 返回YES, 否则返回NO;
BOOL isStart = [strUrl hasPrefix:@"http"];
NSLog(@"%d", isStart);
3> 查找字符串中是否含有某个字符串 rangOfString
1⃣通过rangeOfString方法得到的 location确定字符串起始位置的下标, 获取length长度的子字符串,
2⃣NSRange :结构体 location length
NSString *string1 = [[NSString alloc]initWithFormat:@"小明, 红, 强, 哈哈”//创建字符串
NSRange range = [string1 rangeOfString:@“强”]//这个方法返回的是一个结构体 所以要创建结构体接收
NSLog(@"location:%lu, length:%lu", range.location, range.length);
4>字符串截取 substringFromIndex substringToIndex substringWithRange //这些方法返回的都是字符串
1⃣️substringFromIndex : 从下标index一直到字符串最后(包含下标index) 例:@“dggsad”下标表示如下:@“d1g2g3s4a5d6"
NSString *divString = @"what a day beautiful day”; //创建字符串(一下以这个字符串为例)
NSString *newString = [divString substringFromIndex:7]; //方法实现
2⃣️substringToIndex : 从字符串开头开始一直到下标index(不包含下标index);
NSString *twoString = [divString substringToIndex:7]; //方法实现
3⃣️substringWithRange : 截取给定范围的字符串
//获取范围 NSMakeRange(loc, len)
NSRange startToEnd = NSMakeRange(0, 4);
NSString *newStart2 = [divString substringWithRange:startToEnd];//这个方法要传入下标 和 长度
NSLog(@"%@", newStart2);
5> 字符串拼接
1⃣️stringByAppendingString : 在给定的字符串后面拼接一个字符串 此方法返回的是一个字符串
NSString *append = [divString stringByAppendingString:@"yes"];
2⃣️ 在给定字符串后拼接上给定格式的字符串 此方法返回的是一个字符串
NSString *appendStr = [divString stringByAppendingFormat:@"%d", 21];
6>字符串代替
1⃣️ stringByReplacingOccurrencesOfString : 把字符串中出现的所有要替换的字符串给替换成新的给定字符串 此方法返回的是一个字符串 (用于代替字符串中的所有想要代替的子字符串)
NSString *girl = [divString stringByReplacingOccurrencesOfString:@"day" withString:@"girl"];
2⃣️在给定下标 和 长度两个参数的情况下代替 (用于代替字符串中的某一个想要代替的子字符串)
NSString *replace = [divString stringByReplacingCharactersInRange:NSMakeRange(0, 4) withString:@"it's"];
7>字符串比较 (用于比较字符串大小 与 C语言中的字符串比较相同 比较字母大小)
NSString *cmp1 = @"hello";
NSString *cmp2 = @"how";
NSComparisonResult result = [cmp1 compare:cmp2];
switch (result) {
case NSOrderedAscending:
NSLog(@"cmp2大于cmp1");
break;
case NSOrderedSame:
NSLog(@"两者想等");
break;
case NSOrderedDescending:
NSLog(@"cmp1大于cmp2");
break;
default:
break;
case NSOrderedAscending:
NSLog(@"cmp2大于cmp1");
break;
case NSOrderedSame:
NSLog(@"两者想等");
break;
case NSOrderedDescending:
NSLog(@"cmp1大于cmp2");
break;
default:
break;
}
8>判断字符串是否相等
BOOL right = [cmp2 isEqualToString:@"hello"];
NSLog(@"%d",right);
9> 字符串中的字母大写 和 小写
NSString *tmpStr = @"i will be the Best”;//创建字符串
1⃣️ lowercaseString //大写字母全都换成小写字母
NSString *newTep = [tmpStr lowercaseString];
2⃣️ uppercaseString//小写字母全都换成大写字母
NSString *upStr = [tmpStr uppercaseString];
3⃣️ capitalizedString//字符串单词的首字母全都大写
NSString *capStr = [tmpStr capitalizedString];
10>数字字符串转换为数字
NSString *numStr = @"234”;//创建数字字符串
1⃣️数字字符串 转换为长整型数
NSInteger number = [numStr integerValue];
2⃣️数字字符串 转换为整型
int a = [numStr intValue];
3⃣️数字字符串 转换为浮点型
float b = [numStr floatValue];
11>可变字符串 NSMutableString 返回的是一个可变字符串
[mutStr appendString:@"add”];//创建字符串
1⃣️在字符串后添加
[mutStr appendFormat:@"%d",10];
2⃣️删除给定范围的字符串
[mutStr deleteCharactersInRange:NSMakeRange(0, 3)];
3⃣️删除给定的字符串
[str replaceOccurrencesOfString:@"-" withString:@"" options:NSLiteralSearch range:NSMakeRange(0, str.length)];
//用@“”空字符替换掉@“-“ options:以哪种搜索方式搜索 NSLiteralSearch:逐个搜索的方式 rang:范围
3⃣️在给定范围内插入给定的一个字符串
[mutStr insertString:@"string" atIndex:0];
4⃣️在给定范围内替换给定的字符串
[mutStr replaceCharactersInRange:NSMakeRange(6, 2) withString:@"New"];
五 替换整个字符串
[mutStr setString:@"New string"];
浙公网安备 33010602011771号