您的位置:首页 > 其它

NSString知识点大全

2016-04-12 21:15 344 查看
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!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: