OC字符串的使用(一)
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //字符串创建 方法1:直接赋值方法创建,字符串常量 NSString *s1=@"北京下雪了"; //方法二:通过构造方法initWithFormat:创建字符串,可以通过指定的字符串参数完成多个字符串的组合 NSString *s2=[[NSString alloc]initWithFormat:@"2017,1,16%@",s1]; NSLog(@"%@",s2); //方法三:通过构造方法:initWithString:创建字符串,使用这个方法时,需要传入一个不为空的字符串 NSString *s3=[[NSString alloc]initWithString:s2]; NSLog(@"s3=%@",s3); //方法四:使用类方法创建字符串 NSString *s4=[NSString stringWithFormat:@"%@%@",s2,s3]; NSLog(@"s4=%@",s4); char *p="我是C字符串"; //将C的转换成OC的字符串 NSString *s5=[NSString stringWithUTF8String:p]; //定义一个OC的串,通过UTF8String转换成C的字符串 s5=@"hello world"; NSLog(@"****%s",[s5 UTF8String]); //characterAtIndex:通过传入的下标来返回对于的字符 NSLog(@"%c",[s5 characterAtIndex:5]); NSLog(@"s1的长度是:%ld",s1.length); NSLog(@"s5的长度是:%ld",s2.length); //截取从制定的下标开始(包含下标),到结束 NSLog(@"%@",[s5 substringFromIndex:2]); //截取从字符串开始位置到指定下标的前一个字符,这个区间的字符串(不包含指定下标对应的字符) NSLog(@"%@",[s5 substringToIndex:5]); NSRange range; range.location=3; range.length=6; //截取指定范围的字符串,包含location这个位置的字符 NSLog(@"%@", [s5 substringWithRange:range]); NSString *s6=@"beijing"; //isEqualToString:判断存放的字符串是否相等,s5==s6是对指针的地址的判断 if ([s5 isEqualToString:s6]) { NSLog(@"s5与s6相等"); }else{ NSLog(@"s5与s6不相等"); } //s5=@"hello world"; s6=@"beijng"; //s5比s6大,返回的值为正数 NSLog(@"%d",[s5 compare:s6]); NSLog(@"%d",[s6 compare:s5]); NSString *s7=@"Beijing"; //在进行比较多额时候忽略字符串大小写 NSLog(@"%d",[s6 compare:s7 options:NSCaseInsensitiveSearch]); //hasPrefix:在进行前缀判断的时候是区分大小写的 if ([s7 hasPrefix:@"bei"]) { NSLog(@"包含"); }else{ NSLog(@"不包含"); } if ([s7 hasSuffix:@"ing"]) { NSLog(@"包含ing"); }else{ NSLog(@"不包含ing"); } //判断字符串中是否包含指定的字符串,如果包含返回true 反之返回false if ([s7 containsString:@"ei"]) { NSLog(@"包含ei"); }else{ NSLog(@"不包含ei"); } NSRange range1=[s7 rangeOfString:@"ei"]; NSLog(@"%d%d",range1.location,range1.length); //NSStringFromRange(range1) 将结构体转换成字符串输出 NSLog(@"%@",NSStringFromRange(range1)); } return 0; }