oc随笔四:NSString、NSNumber
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // NSNumber 数字对象: // NSNumber格式和NSString创建类似,只是后面的初始化函数要有针对性,这是框架里面内置的 NSNumber *intNumber = [[NSNumber alloc] initWithInt:18]; NSNumber *floatNumber = [[NSNumber alloc] initWithFloat:18.22]; NSLog(@"%@",intNumber); NSLog(@"%@",floatNumber); // 也可以把数字对象转换成基本数值型,intvalue这些也是内置的方法 int int1 = [intNumber intValue]; float float1 = [floatNumber floatValue]; NSLog(@"%d",int1); NSLog(@"%1.f",float1); // NSString 字符串对象: // 创建字符串常量对象 NSString *str1 = @"hello augus"; // 创建空字符串对象 NSString *str2 = [[NSString alloc] init]; NSString *str3 = [NSString string]; NSLog(@"%@",str3); // 快速创建一个字符串对象 // NSString *str4 = [[NSString alloc] initWithString:@"andy"]; // NSString *str5 = [NSString stringWithString:@"tom"]; // 创建格式化的字符串对象 NSString *str6 = [[NSString alloc] initWithFormat:@"%d",10]; NSString *str7 = [NSString stringWithFormat:@"%.1f",10.8]; NSLog(@"%@,%@",str6,str7); // 比较两个参数的内容值是否相同 if ([str1 isEqualToString:str2]) { NSLog(@"相等"); } // 判断两个对象变量是否是同一个,即指向同一个地址 if (str1 == str2) { NSLog(@"相同"); } // 比较大小 if ([str1 caseInsensitiveCompare:str2]) { NSLog(@"%@",str1); } // 字符串长度 NSLog(@"%ld",[str1 length]); // 字符串大写、小写、首字母大写 NSLog(@"%@",[str1 uppercaseString]); NSLog(@"%@",[str1 lowercaseString]); NSLog(@"%@",[str1 capitalizedString]); // 分割成数组,以空格分隔 NSArray *arr = [str1 componentsSeparatedByString:@" "]; NSUInteger count = [arr count]; NSLog(@"%ld",count); for (int i=0; i<count; i++) { NSString * arrObj = [arr objectAtIndex:i]; NSLog(@"%@-",arrObj); } // 剪切字符串,从开始到2(不包含2);从2开始(包含2)到最后 NSString * str8 = [str1 substringToIndex:2]; NSString * str9 = [str1 substringFromIndex:2]; NSLog(@"%@------%@",str8,str9); // 从什么范围开始剪切,和下面是等价的,range是内置的方法 // NSRange 是一个结构体,可以用使用NSStringFromRange和NSRangeFromString进行与字符串之间的转换 NSRange range = {4,3}; range.location = 4;//可省略 range.length = 3;//可省略 NSString *str10 = [str1 substringWithRange:range]; NSLog(@"%@",str10); // 把两个字符连接 NSString *str11 = [str1 stringByAppendingString:str2]; NSString *str12 = [str1 stringByAppendingFormat:@" %@",str11]; NSString *str13 = [[NSString alloc] initWithFormat:@"%@ and %@",str1,str2]; NSRange range1 = [str1 rangeOfString:@"hello"];//在str1中搜索查看hello这个字符串是否存在 if (range1.location != NSNotFound) { NSLog(@"YES"); } NSLog(@"%@----%@------%@-----%@",str11,str12,str13,NSStringFromRange(range1)); // NSMutableString创建的对象是可变变量,可以增减替换操作 NSMutableString *mutstring1 = [[NSMutableString alloc] initWithFormat:@"hello"]; [mutstring1 insertString:@"world" atIndex:5]; NSLog(@"%@",mutstring1); NSRange range2 = {1,3}; [mutstring1 replaceCharactersInRange:range2 withString:@"eee"];//结构体需要先定义 NSLog(@"%@",mutstring1); [mutstring1 deleteCharactersInRange:range2]; NSLog(@"%@",mutstring1); // 字符串判断 BOOL value1 = [str1 hasPrefix:@"www"];//判断是否以www开头,值为YES或者NO BOOL value2 = [str1 hasSuffix:@".png"];//判断以什么结尾 NSLog(@"%d-----and-----%d",value1,value2);//可以用%d打印出bool值,0和1表示 // 把内容写入到文件的方法wirteToFile, 从文件中读取内容的方法stringWithContentOfFile。这两个方法有个&error参数,如果正常,则error==nil,否则会把错误信息记录到error中 } return 0; }
坚持分享,改变自我!