格式化字符串
//格式化字符串
NSString *string = [NSString stringWithFormat:@"德玛西亚"];
//也可以用来拼接
NSString *string2 = [NSString stringWithFormat:@"%@%@",string,string] ;
//也可以用来拷贝
NSInteger num1 = 1231231111;
NSString *string3 = [NSString stringWithFormat:@"ld",num1];
用一个字符串初始化新字符串(字符串拷贝)
//用一个字符串初始化新字符串(字符串拷贝)
NSString *string = @"德玛西亚";
NSString *string2 = [NSString stringWithString:string];
字符串拼接
//字符串拼接
方法一:
NSString *string = @"德玛西亚";
NSString *string1 = @"盖伦";
NSString *string2 = [string1 stringByAppendingString: string ]; //string的拼到string2的后面
方法二:
NSString *string3 = [NSString stringByAppendingString:@"赵信%@",string];
字符串的长度
//字符串的长度
NSString *string = @"德玛西亚";
NSLog(@"%@",[string length]);
字符串比较
//字符串比较
NSString *string = @"德玛西亚";
NSString *string2 = @"诺克萨斯";
NSComparisonResult result = [string compare: string2];
switch(result){ //实现方法
case NSOrderedDescending:
NSLog(@"前大后小");
break;
case NSOrderedAscending:
NSLog(@"前大后小");
break;
case NSOrderedSame:
NSLog(@"相同");
break;
default:
break;
}
判断字符内容是否相等
//判断字符内容是否相等(汉字也可以)
NSString *string = @"德玛西亚";
NSString *string2 = @"诺克萨斯";
if([string isEqualToString:string2]){
NSLog(@"一样");
}else{
NSLog(@"不一样");
}
字符串截取
//字符串截取
NSString *string = @"abcdefghijk";
//从字符串下标第几个开始截取到末尾
NSLog(@"%@",[string substringFromIndex:3]); //输出结果: defghijk
//从字符串开始截取到第几个下标结束
NSLog(@"%@",[string substringToIndex:2]); //输出结果:ab
//从字符串下标第几个开始截取长度为几的字符串
//NSMakeRange 快速构建NSRange(下标,长度)
NSLog(@"%@",[string substribngWithRange:NSMakeRange(2,3)]); //输出结果为bcd;
字符串替换
//字符串替换 指定区域替换
NSString *string = @"abcdefghijk";
NSLog(@"%@",[string stringByReplacingCharactersInRange:NSMakeRange(2,3)withString:@"lal"] ); //输出结果ablalfghijk;
//字符串替换,指定字符替换
NSLog(@"%@",[string stringByReplacingOccurrencesOfString:@"c"withString:@"f"]);
//输出结果abfdefghijk
字符串和基本数据类型的互转
将基本数据类型转换为字符串的试验
NSInteger num = 133123123;
NSString *numStr = @"133123123";
NSString *numStr2 = [NSString stringWithFormat:@"%ld",num];
if([numStr2 isEqualToString:numStr]){
NSLog(@"haha");
}
//字符串类型转换为基本数据类型
NSInteger num2 = [numStr integerValue];
字符串的大小写
//字符串大小写
NSString *string = @"wu zhong hOng";
//字符串全部大写
NSLog(@"%@",[string uppercaseString]); //输出结果WU ZHONG HONG;
//字符串全部小写
NSLog(@"%@",[string lowercaseString]); //输出结果 wu zhong hong;
//字符串首字母大写
NSLog(@"%@",[string capitalizedString]); //输出结果 Wu Zhong Hong
判断字符串是否以NSString开头或结尾
//测试字符串是否以NSString开头
//判断字符串是否以 http://开头,如果是,打印网址正确
if([string hasPrefix:@"http://"]){
NSLog(@"网址正确");
}
//判断字符串是否为png结尾 如果不是 改png
if(![string hasSuffix:@"png"])
{
NSLog(@"%@",[string stringByReplacingCharactersInRange:NSMakeRange([string length]-3,3)withString:@"png"]);
}
可变的类,NSMutableString,一定要先初始化,如果不初始化会崩溃
可变的类,NSMutableString,一定要先初始化,如果不初始化会崩溃
NSMutableString *mStr = [NSMutableString string]; //类方法初始化
NSMutableString *mStr = [[NSMutableString alloc] init]; //init实例化初始化方法
NSMutableString *mStr = [[NSMutableString alloc] initWithCapacity:0];
//指定初始化方法,capacity是申请内存空间,但系统会根据字符串的增减自动调整内存大小
NSMutableString的增删改
//mutableString 使用init初始化或者类方法初始化时,;利用setString 进行赋值.
[mStr setString:@"asdasd"];
//插入值
[mStr insertString:@"v"atIndex:3]; //输出值:asdvasd;
//删除值
[mStr deleteCharactersInRange:NSMakeRange(2,1)]; //输出值:asvasd;
NSNumber的初始化和数据转换
NSNumber *nsnum = [[NSNumber alloc] initWithInt:10]; //不同数据类型初始化方法都不一样
nsnum = [NSNumber numberWithInt:110]; //赋值
int a = [nunum intValue]; //数据转换
//NSNumber字面量
//常量:
NSNumber *intNumber = @38;
NSNumber *charNumber = @'w';
//变量
int age = 18;
NSNumber *ageNumber = @(age);
int gender = 'w';
NSNumber *genderNumber = @(gender);
多练多写