您的位置:首页 > 职场人生

黑马程序员——Foundation框架——NSString常用方法

2015-12-04 22:07 399 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1. 创建字符串

//在常量区创建字符串对象
NSString *str1=@"abc";
NSString *str2=[NSString stringWithString:@"hello"];
NSString *str3=[[NSString alloc] initWithString:@"aa"];

//在堆区创建字符串对象
NSString *str4=[NSString stringWithFormat:@"happy"];
NSString *str5=[[NSString alloc] initWithFormat:@"bb"];


2. 比较字符串大小

compare默认区分大小写,和C语言中的strcmp一样,是取出字符的ASCII值进行比较,compare的返回结果有三种:
NSOrderedAscending——升序排列
NSOrderedDescending——降序排列
NSOrderedSame——两个字符串相等

NSString *str1=@"Hello";
NSString *str2=@"hello";
//默认方式比较字符串str1和str2
NSComparisonResult result1=[str1 compare:str2];
//比较字符串str1和str2,不区分大小写
NSComparisonResult result2=[str1 compare:str2 options:NSCaseInsensitiveSearch];
//比较字符串str1和str2,按字符个数进行比较
NSComparisonResult result3=[str1 compare:str2 options:NSNumericSearch];


“==”比较的是两个字符串的地址,而不是字符串的内容,用isEqualToString判断字符串内容是否相等

//判断两个字符串的内容是否相等
if ([str1 isEqualToString:str2]) {
NSLog(@"两个字符串相等");
}else{
NSLog(@"两个字符串不相等");
}


3. 字符串前后缀检查

检查字符串前缀

NSString *url=@"http://xxxxxxx";
//通过检查前缀判断字符串是否是一个网址
if ([url hasPrefix:@"http://"]||[url hasPrefix:@"https://"]) {
NSLog(@"这是一个网址");
}else{
NSLog(@"这是一个网址");
}


检查字符串后缀

NSString *imgName=@"xxxx.jpg";
//检查后缀判断字符串是否图片名称
if ([imgName hasSuffix:@".jpg"]||[imgName hasSuffix:@".jpeg"]||[imgName hasSuffix:@".png"]) {
NSLog(@"这是一张图片");
}else{
NSLog(@"这不是一张图片");
}


4. 字符串查找

rangeOfString——查找某个字符串在另外一个字符串中首次出现的位置,返回值是一个NSRange的结构体

NSString *str3=@"happy everyday forever";
NSString *str4=@"everyday";
//查找str4在str3中首次出现的位置
NSRange range=[str3 rangeOfString:str4];
//判断是否找到
if (range.location!=NSNotFound) {
NSLog(@"首次出现的位置是%lu,长度是%lu",range.location,range.length);
}else{
NSLog(@"没有找到");
}


5. 字符串的截取

- (NSString *)substringFromIndex:(NSUInteger)anIndex

截取从指定位置anIndex开始(包括anIndex),到尾部的字符串

- (NSString *)substringToIndex:(NSUInteger)anIndex

截取从开始位置到指定位置anIndex(不包括anIndex)的字符串

- (NSString *)substringWithRange:(NSRange)aRange

按照aRange给定的子串的起始位置和长度从字符串中截取子串

NSString *str1=@"http://www.baidu.com";      <pre name="code" class="objc">//截取str1从第五个位置开始到尾部的字符串保存在str2中
NSString *str2=[str1 substringFromIndex:5]; NSLog(@"%@",str2); //截取从第0个位置开始到第五个位置的字符串保存在str3中 NSString *str3=[str1 substringToIndex:5]; //按照参数中NSRange截取字符串 NSString *str4=[str1 substringWithRange:NSMakeRange(5, 8)];


6. 获取字符串的长度

-(NSUInteger) length

返回字符串的长度,中英字符都按一个字符

7.获取字符串中的每个字符

- (unichar)characterAtIndex:(NSUInteger)index

返回字符串中index对应位置的字符

8.字符串和其他数据类型的转换

// intValue——把字符串转换成int类型的数据,返回一个int类型整数
NSString *a=@"1";
int a1=[a intValue];
//floatValue——把字符串转换成float类型的数据,返回一个float类型整数
NSString *b=@"1.2";
float b1=[b floatValue];
//doubleValue——把字符串转换成double类型的数据,返回一个double类型整数:
NSString *c=@"2.3";
double c1=[c doubleValue];
//stringwithUTF8String——把C语言的字符串转换成OC中的字符串
char *s="Hello World";
NSString *str=[NSString stringWithUTF8String:s];
//UTF8String——把OC中得字符串转换成C语言中的字符串
NSString *str3=@"happy everyday forever";
const char *s1=[str3 UTF8String];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: