创建字符串
NSString *aStirng = @"I'm a string!";
使用变量初始化
NSString *name = @”Chen”; NSString *aString = [NSString stringWithFormat:@"My name is %@",name]; [aString release];
打开指定路径上的文本文件,读取文件内容,并使用内容初始化一个字符串
NSError *error = nil; [[NSString alloc] initWithContentsOfFile:@"/tmp/words.txt" encoding:NSUTF8StringEncoding error:&error]; if (nil != error) { NSLog(@"Unable to read data from file, %@",[error localizedDescription]); }检查字符串是否以另一个字符串开头
- (BOOL)hasPrefix:(NSString *)aString;//是否以aString开头 NSString *String1 = @”NSStringInformation.txt”; [String1 hasPrefix:@"NSString"] ? NSLog(@”YES”) : NSLog(@”NO”); - (BOOL)hasSuffix:(NSString *)aString;//是否以aStirng结尾 [String1 hasSuffix:@".txt"] ? NSLog(@”YES”) : NSLog(@”NO”);
检查是否包含其他字符
NSString *aString = [[NSStringalloc] initWithString:@”This is a String!”]; Boolean contains = [aString rangeOfString:@"This"].length>0;
从指定文件读取字符串
NSString *path = @”astring.txt”; NSString *aString = [[NSStringalloc] initWithContentsOfFile:path]; [aString release];
写字符串到指定文件
NSString *aString = [[NSStringalloc] initWithString:@”This is a String!”]; NSString *path = @”astring.txt”; [aString writeToFile: path atomically: YES]; [aString release];
比较两个字符串
/*比较两个字符串完全相等*/ - (BOOL)isEqualToString:(NSString )aString; NSString *string1 = @”This is a string!”; NSString *string2 = @”This is a string!”; BOOL result = [string1 isEqualToString:string2]; /*三种返回值(NSOrderedAscending, NSOrderedSame, NSOrderedDescending) NSOrderedAscending表示左边小于右边,NSOrderedSame表示两边相等,NSOrderedDescending表示右边小于左边。26个字母越靠后越大*/ - (NSComparisonResult)compare:(NSString *)string;//三种可能返回值 NSString *string1 = @”This is a string!”; NSString *string2 = @”This is b string!”; //result==YES BOOL result = [string1 compare:string2] == NSOrderedAscending; /*忽略大小写比较字符串,也返回三种返回值(NSOrderedAscending, NSOrderedSame, NSOrderedDescending),返回值意义参考compare方法*/ - (NSComparisonResult)caseInsensitiveCompare:(NSString *)string; NSString *string1 = @”this is a string!”; NSString *string2 = @”This is b String!”; //result==YES BOOL result = [string1 caseInsensitiveCompare:string2] == NSOrderedSame;
改变字符串大小写
NSString *string = @”STring”; [string uppercaseString];//全部大写:STRING [string lowercaseString];//全部小写:string [string capitalizedString];//首字母大写:String
去掉字符串两端的空格
NSString *aString = @” string “; NSLog(@”length:%d”,aString.length);//length:8 NSString *resultString = [aString stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]]; NSLog(@”length:%d”,resultString.length);//length:6
去掉字符串两端的空格和回车
NSString *aString = @” string “; NSString *resultString = [aString stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
在字符串中搜索子串的长度和位置
NSString *string = @”This is a string!”; NSString *subString = @”string”; NSRange range = [string rangeOfString:subString]; intlocation = range.location;//10 int length = range.length;//6 if (range.length>0) { //包含子串 }else{ //不包含子串 }
替换字符串
NSString *string = @”Hello,Objective-C!”; NSString *new = [string stringByReplacingOccurrencesOfString: @"Objective-C" withString:@"Swift"];
分割字符串成数组
NSString *string = @”a b c d e f”; NSArray *resultArray = [string componentsSeparatedByString:@" "];
字符串数组拼接成字符串
NSArray *array = [NSArray arrayWithObjects:@"Hello",@"Swift",nil]; [pathArray componentsJoinedByString:@""];//HelloSwift
抽取子串
/*从字符串开头一直截取到指定的位置,位置从0开始,但不包括该位置的字符*/ - (NSString *)substringToIndex:(NSUInteger)to; NSString *string = @”This is a string”; [string substringToIndex:4];//This /*以指定位置开始(包括指定位置的字符),并包括之后的全部字符*/ - (NSString *)substringFromIndex:(NSUInteger)from; NSString *string = @”This is a string”; [string substringFromIndex:4];//is a string /*按照所给出的位置、长度,任意地从字符串中截取子串*/ - (NSString *)substringWithRange:(NSRange)range; NSString *string = @”This is a string”; [string1 substringWithRange:NSMakeRange(0, 4)];//This