ObjectiveC(2)_NSNumber和NSString常用方法

版权声明:本博客主要记录学习笔记和遇到的一些问题解决方案,转载请注明出处! https://blog.csdn.net/u010982507/article/details/82812460

本章主要记录iOS中基本类型的对象包装类型的常用方法。

NSNumber常用方法

  • (NSNumber * ) numberWithInt:(int)
// 创建一个整型NSNumber对象。
NSNumber *month = [NSNumber numberWithInt:10];
NSLog(@"创建一个整数对象:%@",month);
// 还原成基本数据类型
 int month2 = [month intValue];
 NSLog(@"基本类型%d",month2);
  • (NSNumber * ) initWithFloat:(int)
// 创建一个浮点型NSNumber对象。
NSNumber *lenth = [[NSNumber alloc] initWithFloat:10.5];
NSLog(@"创建一个浮点数对象:%@",lenth);
float lenth2 = [lenth floatValue];
NSLog(@"基本浮点型%.1f",lenth2);

NSString 常用方法

  • 创建一个字符串常量
// 1.创建一个字符串常量 内存创建在一个常量区
NSString *str1 = @"这是一个字符串常量";
NSLog(@"str1:%@",str1);
  • 创建一个空字符串
// 2.创建一个空字符串
NSString *str2 = [[NSString alloc] init];
NSString *str3 = [NSString string];
NSLog(@"str2:%@",str2);
NSLog(@"str3:%@",str3);
  • initWithString和stringWithString
// 3.创建一个字符串 内存创建在一个常量区
NSString *str4 = [[NSString alloc] initWithString:@"hello str4"];
NSString *str5 = [NSString stringWithString:@"hello str5"];
NSLog(@"str4:%@",str4);
NSLog(@"str5:%@",str5);
  • stringWithFormat
// 4.创建一个格式化字符串  内存创建在堆内存
NSString *str7 = [NSString stringWithFormat:@"%d",10];
NSString *str8 = [NSString stringWithFormat:@"保留一位的浮点数%.1f",10.8];
NSLog(@"str7:%@",str7);
NSLog(@"str8:%@",str8);
  • isEqualToString
 //6.比较字符串内容是否相等
 if(![str7 isEqualToString:str8]){
     NSLog(@"比较字符串内容是否相等");
 }
 需要注意的是initWithString和stringWithString都是在常量区创建一个常量字符串,无论是用==进行比较还是equal方法比较,它们比较的都是字符串内容。而stringWithFormat是创建在堆内存中,所以不能用==进行比较字符串内容。
  • caseInsensitiveCompare
// 7.字符串大小的比较,判断升序(-1)还是降序(1)
NSString *str9 = @"b";
NSString *str10 = @"a";
// NSComparisonResult枚举类型-1 0 1
NSComparisonResult result = [str9 caseInsensitiveCompare:str10];
NSLog(@"字符串比较结果:%ld",result);
  • length
// 8.获取字符串长度
NSUInteger length1 = str9.length;
int length2 = [str10 length];
NSLog(@"字符串长度1:%ld;长度2:%ld",length1,length2);
  • 字符串的转换
// 9.字符串的转换
NSString *str11 = @"hello word";
str11 = str11.uppercaseString;
NSLog(@"字符串小写转大写:%@",str11);
str11 = str11.lowercaseString;
NSLog(@"字符串大写转小写:%@",str11);
str11 = str11.capitalizedString;
NSLog(@"字符串每个单词首字母大写:%@",str11);
// 转换成基本数据类型
NSString *str12 = @"123";
int strInt = str12.intValue;
NSLog(@"字符串转整型:%d",strInt);
  • componentsSeparatedByString
// 11.字符串转数组
NSString *str13 = @"abc xyz mng";
NSArray *arr = [str13 componentsSeparatedByString:@" "];// 类似于java中的split
NSLog(@"arr:%@",arr);
  • 截取字符串
// 12.截取字符串
NSString *str14 = @"abcdefg";
NSString *subStr1 = [str14 substringToIndex:2];
NSLog(@"截取到字符串第2位,即到c并c不包括c,%@",subStr1);
NSString *subStr2 = [str14 substringFromIndex:2];
NSLog(@"从字符串的第2位进行截取,即从c开始,并包括C:%@",subStr2);
NSRange range;
range.location = 3;
range.length = 3;
NSString *subStr3 = [str14 substringWithRange:range];
NSLog(@"从第三位d开始并包括d,到长度3位def的range:%@",subStr3);
  • 拼接字符串
// 13.字符串的拼接
NSString *str15 = @"hello ";
NSString *str16 = @"world";
NSString *str17 = [[NSString alloc] initWithFormat:@"%@%@",str15,str16];
NSLog(@"拼接多个字符串1:%@",str17);
NSString *str18 = [str15 stringByAppendingFormat:@"%@%@",str15,str16];
NSLog(@"拼接多个字符串2:%@",str18);
NSString *str19 = [str15 stringByAppendingString:str16];
NSLog(@"拼接一串字符串3:%@",str19);
  • 查询字符串
// 14.查询字符串
NSString *link = @"abdtarget=_blankddgg";
NSRange rang2 = [link rangeOfString:@"target=_blank"];
NSLog(@"%@",NSStringFromRange(rang2));// {3, 13}
NSLog(@"截取:%@",[link substringWithRange:rang2]);
if(rang2.location!=NSNotFound) {
    NSLog(@"查询到了有这个字符串");
}

NSMutableString

可变字符串NSMutableString继承自NSString,可以使用NSString的所有方法。

NSMutableString *str20 = [[NSMutableString alloc] initWithFormat:@"abc"];
[str20 insertString:@"insert" atIndex:2];
NSLog(@"插入一个字符串:%@",str20);
[str20 replaceCharactersInRange:NSMakeRange(0, 3) withString:@"g"];
NSLog(@"替换字符串,表示用g替换字符串0位开始的3位:%@",str20);
[str20 deleteCharactersInRange:NSMakeRange(0, 3)];
NSLog(@"删除前3位:%@",str20);

猜你喜欢

转载自blog.csdn.net/u010982507/article/details/82812460