NSString是定义固定大小的字符串,NSMutableString可变,可对字符串做增、删、改、插入等操作。
源代码strings.m
-----------------------------------
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// insert code here...
NSString *artist = @"Underworld";
NSLog(@"The \"%@\" length is %d",artist,[artist length]);
NSString *substring = [artist substringFromIndex:5];
NSLog(@"From index 5 to end that substring is \"%@\"",substring);
NSRange range = [artist rangeOfString:@"w"];
NSLog(@"range.location = %d,是字母\"w\"所在的索引位置",range.location);
NSLog(@"range.length = %d,是字母\"w\"的长度",range.length);
NSLog(@"------------------------------");
NSString *song = @"美丽新世界,伍佰";
NSRange range1 = [song rangeOfString:@","];
NSString *songName = [song substringToIndex:range1.location];
NSString *songAuthor = [song substringFromIndex:range1.location + range1.length]; //如果不加上range1.length,取词就包含逗号
NSLog(@"歌曲:%@",song);
NSLog(@"\",\"号位置为 %d",range1.location);
NSLog(@"歌名:%@",songName);
//printf("歌名:%s \n",[songName UTF8String]);//正确
//NSLog(@"歌名:%@", [songName UTF8String]);//错误
NSLog(@"作者:%@",songAuthor);
NSLog(@"---------------------------------");
NSLog(@"可变字符串类NSMultableString演示:");
NSMutableString *movie = [[NSMutableString alloc] initWithString:@"变形金刚2"];
NSLog(@"%@",movie);
[movie appendString:@",派拉蒙影业"];
NSLog(@"%@.方法appendString",movie);
NSRange range2 = [movie rangeOfString:@"派拉蒙影业"];
[movie replaceCharactersInRange:range2 withString:@"派拉蒙电影公司"]; //不是range2.location
NSLog(@"%@.方法replaceCharactersInRange",movie);
[movie deleteCharactersInRange:[movie rangeOfString:@"公司"]];
NSLog(@"%@.方法deleteCharactersInRange",movie);
range2 = [movie rangeOfString:@"变形金刚"];
[movie insertString:@"科幻电影:" atIndex:range2.location];
NSLog(@"%@.方法insertString",movie);
[movie release]; //采用alloc的对象都不要忘记release
[pool drain];
return 0;
}