下面是我翻了翻系统SDK总结的一些比较常用的方法,添加了自己的理解和注释,不全的不对的地方请大神指教
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
unichar data[6]={1,2,3,4,5,6,};//使用Unicode数值数组初始化字符串
NSString * str = [[NSString alloc]initWithCharacters:data length:6];
NSLog(@"%@",str);
char * data1 = "c语言的字符串";
NSString * str1 =[[NSString alloc]initWithUTF8String:data1];
NSLog(@"%@",str1);
//将字符串写入文件
[str writeToFile:@"my.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
//读取文件内容,用文件内容初始化字符串
NSString * str2 = [NSString stringWithContentsOfFile:@"" encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@",str2);
NSString * str3 = @"开头";
NSString * addstr = @"添加";
//在str3后面追加一个字符串,该方法有返回值,所以str3并没有被改变,只是把改变的对象重新赋给str3变量。
str3 = [str3 stringByAppendingString:addstr];
NSLog(@"%@",str3);
const char * cstr = [str3 UTF8String];
NSLog(@"获取后的C风格字符串:%s ",cstr);
//在str3后面追加带变量的字符串
str3 = [str3 stringByAppendingFormat:@"---%@---格式化",@"添加的"];
NSLog(@"%@",str3);
NSLog(@"字符串str3的字符个数%lu",[str3 length]);
NSString * s1 = [str3 substringToIndex:4];//截取到字符串的第4位前,不算第4位置
NSLog(@"s1==%@",s1);
NSString * s2 = [str3 substringFromIndex:2];//从第2位置截取,包含第二位
NSLog(@"s2==%@",s2);
NSString * s3 = [str3 substringWithRange:NSMakeRange(0, 2)];//从第0位置截取,截取长度为2
NSLog(@"s3==%@",s3);
NSRange range = [str3 rangeOfString:@"添加"]; //获取“添加”字符串在str3中的位置,仅仅计算第一次出现的位置。
NSLog(@"range={%ld,%ld}",range.location,range.length);
NSLog(@"%@ ", [[NSString stringWithFormat:@"abc"] uppercaseString]); //所有字母大写
NSLog(@"%@ ", [[NSString stringWithFormat:@"ABC"] lowercaseString]);//所有字母小写
NSLog(@"%@ ", [[NSString stringWithFormat:@"abc"] capitalizedString]); //首字母大写
NSMutableString * mutableString = [NSMutableString stringWithFormat:@"我是可变字符串"];
//追加固定字符串,字符串本身发生了改变,无需重新赋值,方法没有返回值。
[mutableString appendString:@"---追加"];
NSLog(@"%@",mutableString);
//在指定位置插入字符串
[mutableString insertString:@"---插入字符串" atIndex:7];
NSLog(@"%@",mutableString);
//删除一个区域的字符串
[mutableString deleteCharactersInRange:NSMakeRange(7, 13)];
NSLog(@"%@",mutableString);
//替换一个区域的字符串
[mutableString replaceCharactersInRange:NSMakeRange(2, 2) withString:@"--替换了可变--"];
NSLog(@"%@",mutableString);
//获取当前的locale
NSLocale * cn = [NSLocale currentLocale]; //nslocale代表一个语言,国际环境。
//获取nsdate在当前locale下对应的字符串
NSLog(@"%@",[[NSDate date] descriptionWithLocale:cn]);
NSArray * array = [NSArray array];//创建一个不包含任何元素的空NSArray
array = [NSArray arrayWithObjects:@"元素1",@"元素2",@"元素3",@"元素4",@"元素5", nil];
NSLog(@"第0个元素:%@",[array objectAtIndex:0]);
NSLog(@"最后一个元素:%@",[array lastObject]);
//获取索引为2,以及后面3个元素组成新集合
NSLog(@"%@",[array objectsAtIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(2, 3)]]);
//获取元素1的位置
NSLog(@"%ld", [array indexOfObject:@"元素1"]);
//像数组追加另一个元素,本身并没有改变,即方法有返回值
array = [array arrayByAddingObject:@"元素6"];
NSLog(@"%@",array);
//获取0-1的元素,重新赋给array
array = [array subarrayWithRange:NSMakeRange(0, 2)];
NSLog(@"%@",array);
}
return 0;
}