NSString
//1、创建常量字符串
NSString * string0 = @"this is a string";
NSLog(@"string 0 = %@",string0);//string 0 = this is a string
//2、创建空字符串,给与赋值
NSString * string1 = [[NSString alloc] init];
string1 = @"this is a string";
NSLog(@"string1 = %@",string1);//string1 = this is a string
//3、initwithstring 方法
NSString * string2 = [[NSString alloc] initWithString:string1];
NSLog(@"sting2 = %@",string2);//string2 = this is a string
//4、创建格式化字符串(由一个%加一个字符组成)
NSInteger i = 10;
NSInteger j = 20;
NSString * string3 = [[NSString alloc] initWithFormat:@"this is %ld string ! %ld",(long)i,(long)j];
NSLog(@"string3 = %@",string3);//string3 = this is 10 string ! 20
//5、创建字符串
NSString * string4 = @"this is a string";
NSString * string5 = [NSString stringWithString:string4];
NSLog(@"string5 = %@",string5);//string5 = this is a string
//6、从文件创建字符串
NSString * path = [[NSBundle mainBundle] pathForResource:@"琴女" ofType:@"txt"];//pathForResource:@"琴女.txt" ofType:nil 和前面的效果一样
NSString * string6 = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSLog(@"string6 = %@",string6);
//7、用字符串创建字符串,并写入文件中
NSString * string7 = @"this is a string";
NSString * path1 = @"琴女.txt";//路径不应该为bundle路径,应该改为沙盒路径才可以,bundle路径
[string7 writeToFile:path1 atomically:YES encoding:NSUTF8StringEncoding error:nil];
//8、C语言中字符串的比较
char string8[] = "string";
char string9[] = "string";
if (strcmp(string8, string9) == 0) {
NSLog(@"字符串相等");
}else{
NSLog(@"字符串不相等");
}// 字符串相等
//9、NSString isEqualToString方法
NSString * string10 = @"string";
NSString * string11 = @"string";
BOOL result = [string11 isEqualToString:string10];
NSLog(@"result = %d",result);//1
//10、compare方法(compare返回的三种值)
//(1)
NSString * string01 = @"This is a string!";
NSString * string02 = @"this is a string!";
BOOL result1 = [string01 compare:string02] == NSOrderedSame; //NSOrderedSame判断两者内容是否相同
NSLog(@"result1 = %d",result1);//1
//(2)
NSString * string03 = @"This is a string!";
NSString * string04 = @"this is a string!";
BOOL result2 = [string03 compare:string04] == NSOrderedAscending;//NSOrderedAscending判断对象值的大小(按字母顺序进行比较,string04大于string03为真
NSLog(@"result2 = %d",result2);//1
//(3)
NSString * string05 = @"This is a string!";
NSString * string06 = @"this is a string!";
BOOL result3 = [string05 compare:string06] == NSOrderedDescending;//NSOrderedDescending判断两者的大小(按字母顺序进行比较)string06大于string05 为真
NSLog(@"result3 = %d",result3);//0
//11 不考虑大小写比较字符串
//(1)
NSString * string1 = @"this is a string!";
NSString * string2 = @"This is a string!";
BOOL result1 = [string1 caseInsensitiveCompare:string2] == NSOrderedSame;//NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)
NSLog(@"result1 = %d",result1);//1
//(2)
NSString * string3 = @"this is a string!";
NSString * string4 = @"This is a string!";
BOOL result2 = [string3 compare:string4 options:NSCaseInsensitiveSearch] == NSOrderedSame;//NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写 NSNumericSearch:比较字符串的字符个数,而不是字符值。
NSLog(@"result2 = %d",result2);
//12 输出大写或者小写字符串
NSString * string5 = @"A String";
NSString * string6 = @"string";
NSLog(@"string5 = %@",[string5 uppercaseString]);//大写
NSLog(@"string5 = %@",[string5 lowercaseString]);//小写
NSLog(@"string6 = %@",[string6 capitalizedString]);//首字母大写
//13 -rangeOfString:查找字符串某处是否包含其他字符串
NSString * string7 = @"this is a string";
NSString * string8 = @"string";
NSRange range = [string8 rangeOfString:string7];
NSInteger location = range.location;
NSInteger length = range.length;
NSString * string9 = [[NSString alloc] initWithFormat:@"location:%li,length:%li",(long)location,(long)length];
NSLog(@"string9 = %@",string9);//string9 = location:9223372036854775807,length:0
//14 - substringFromInsex:以指定位置开始(包括指定位置的字符),并包括之后的全部字符 [index,length];
NSString * string10 = @"this is a string";
NSString * string11 = [string10 substringFromIndex:3];
NSLog(@"string11 = %@",string11);//string11 = s is a string
//15 - substringToIndex 从字符串的开头一直截取到指定的位置,但不包括该位置的字符 [0,index);
NSString * string12 = @"this is a string";
NSString * string13 = [string12 substringToIndex:3];
NSLog(@"string13 = %@",string13);//string13 = thi
//16 -substringWithRange 按照所给出的位置,长度,任意的从字符串中截取子串 (从第几个元素开始,截取的字符长度)
NSString * string14 = @"this is a string";
NSString * string15 = [string14 substringWithRange:NSMakeRange(10, 5)];
NSLog(@"string15 = %@",string15);//string15 = strin
//17、-hasPrefix: //检查字符串是否以另一个字符串开头 hasSuffix: //检查字符串是否以另一个字符串结尾
NSString * string1 = @"this is a school";
if ([string1 hasPrefix:@"thi"] == 1) {
NSLog(@"true!");
}else{
NSLog(@"error!");
}//true!
if ([string1 hasSuffix:@"school"]) {
NSLog(@"yes!");
}else{
NSLog(@"no!");
}//yes!
18、NSString 转 NSData
NSString* str= @"kilonet";
NSData* data=[str dataUsingEncoding:NSUTF8StringEncoding];
NSMutableString
//1、-appendString:and -appendFormat: 把一个字符串接在另一个字符串的末尾
NSMutableString * string1 = [NSMutableString stringWithString:@"this is a string"];
[string1 appendString:@" hello world"];
NSMutableString * string2 = [NSMutableString stringWithString:@"hello world"];
NSInteger i = 1250;
[string2 appendFormat:@"%ld",(long)i];
NSLog(@"string1 = %@",string1);//string1 = this is a string hello world
NSLog(@"string2 = %@",string2);//string2 = hello world1250
//2、-insertString:atIndex: 在指定位置插入字符串
NSMutableString * string3 = [NSMutableString stringWithString:@"this is a string!"];
[string3 insertString:@"~~~hello~~~" atIndex:3];
NSLog(@"string3 = %@",string3);//string3 = thi~~~hello~~~s is a string!
//3、 -setString: 重置
NSMutableString * string4 = [NSMutableString stringWithString:@"this is a string!"];
[string4 setString:@"~Hello~"];
NSLog(@"string4 = %@",string4);//string4 = ~Hello~
//4、-replaceCharactersInRange:withString: 用指定字符串替换字符串中某指定位置、长度的字符串
NSMutableString * string5 = [NSMutableString stringWithString:@"this is a string!"];
[string5 replaceCharactersInRange:NSMakeRange(2, 4) withString:@"!!!!"];
NSLog(@"string5 = %@",string5);//string5 = th!!!!s a string!