巩固和学习NSString 和NSMutableString.
1. NSString
复制代码
//
// AppDelegate.m
// HelloWorld
//
// Created by lengxuan on 14-4-10.
// Copyright (c) 2014年 lengxuan. All rights reserved.
//
#import "AppDelegate.h"
#import "Person.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
// - - - - 创建一个字符串
// 创建在常量区
NSString *string1 = @"这是一个字符串常量";
// 创建在堆区
NSString *string2 = [[NSString alloc] init];
// 创建在常量区
NSString *string3 = [NSString string];
// 快速创建一个格式化的字符串, 创建在堆区
int number = 2;
NSString *string4 = [[NSString alloc] initWithFormat:@"%d",number];
// 比较字符串
NSString *string5 = [[NSString alloc] initWithFormat:@"test"];
NSString *string6 = [[NSString alloc] initWithFormat:@"test"];
NSString *string7 = @"test";
NSString *string8 = @"test";
// - - - - 测试字符串内容是否相等
if([string5 isEqualToString:string6]){
NSLog(@"string5 isEqualTo string6");
}
if(string5 == string6){
NSLog(@"string5 == string6");
}else{
NSLog(@"string5 != string6");
}
// 创建在堆区,内容相等但是指针不相等
// Result : string5 isEqualTo string6
// Result : string5 != string6
if([string7 isEqualToString:string8]){
NSLog(@"string7 isEqualTo string8");
}
if(string7 == string8){
NSLog(@"string7 == string8");
}else{
NSLog(@"string7 != string8");
}
// 创建在常量区,内容相等且指针相等
// Result : string7 isEqualTo string8
// Result : string7 == string8
// -- - - 比较字符串的大小
NSString *string9 = @"a";
NSString *string10 = @"b";
NSLog(@"string9 caseInsensitiveCompare:string10 : %d",[string9 caseInsensitiveCompare:string10]);
// Result: string9 caseInsensitiveCompare:string10 : -1
// -1表示升序,即前者小于后者。0表示相等。1表示降序。 字符串的升降序是根据ASCII来排序的。
// -- - - 求字符串的长度
NSString *string11 = @"string length";
[string11 length];
// - - - - 改变字符串大小写
NSString *string12 = @"hello, world!";
[string12 uppercaseString]; //全部大写
[string12 lowercaseString]; //全部小写
[string12 capitalizedString]; //单词首字母大写,其他字母小写
// - - - - 将字符串转换成基本数据类型
NSString *string13 = @"3.14"; //字符串中含有非数字字符,则只会取到非数字字符左方的数字。比如:“3.1a4” : 3.10000
NSLog(@"%d", [string13 boolValue]); //转换成BOOL类型, Result : 1 等于0的时候结果为0,其余为1
NSLog(@"%f", [string13 floatValue]); //转换成浮点型, Result : 3.1400
NSLog(@"%f", [string13 doubleva lue]); //转换成双精度类型, Result : 3.1400
NSLog(@"%d", [string13 intValue]); //转换成整型, Result : 3
// - - - - 将字符串分割成数组
NSString *string14 = @"ab,cd,ef,gh";
NSArray *array = [string14 componentsSeparatedByString:@","];
NSLog(@"array componentsSeparatedByString: %@", array);
// - - - - 截取字符串
NSString *string15 = @"abcdefgh";
NSLog(@"string15 subStringToIndex:2 is %@", [string15 substringToIndex:2]); //从