NSString的常用方法

NSString的常用方法

NSString * str = @"abcd";//不可变字符串

//1.把其他类型转换成OC的字符串,使用stringWithFormat方法

int a = 1234;
NSString *str1 = [NSString stringWithFormat:@"%d",a];

char c1 = '1';
NSString *str2 = [NSString stringWithFormat:@"%c",c1];

//2.把字符串转换成对应的数值类型intValue/doubleValue/floatValue

int a2 = [str1 intValue];//方法可以使用
int a1 = str2.intValue;//.语法也可以使用

//3.@字符的作用:把C语言的某些类型,转换为OC的对应的对象类型

char *str3 = "abcde";
NSString *str4 = @(str3);
NSString *str5 = [NSString stringWithFormat:@"%s",str3];

//4.字符串的比较 相同的代码分配一块内存

NSString *str6 = [NSString stringWithFormat:@"abcd123"];
NSString *str7 = [NSString stringWithFormat:@"abcd123"];

//==比较内存地址是否相等,不能用于比较OC的字符串
//使用%p打印内存地址
//比较字符串的内容是否相同使用方法 isEqualToString
if([str6 isEqualToString:str7])
{
    NSLog(@"相等");
}
else
{
    NSLog(@"不等");
}

//5.字符串比较大小关系要用compare方法

//只比较第一个就给出结果;
NSString *str8 = @"9abc";
NSString *str9 = @"123aaa";

if ([str8 compare:str9] == NSOrderedSame)//返回值 相等
{
    NSLog(@"相等");
}
else if ([str8 compare:str9] == NSOrderedAscending)//返回值 升序
{
    NSLog(@"升序");
}
else
{
    NSLog(@"降序");
}

//6.字符串的字符个数

NSString *str10 = @"abcde";
NSLog(@"%lu",str10.length);//此处是调用length方法
NSLog(@"%lu",[str10 length]);

//7.不可变字符串的追加,会产生一个新的对象,内存地址不一样

NSString *str11 = @"abc";
NSLog(@"%p",str11);

str11 = [str11 stringByAppendingString:@"def"];
NSLog(@"%p",str11);
NSLog(@"%@",str11);

str11 = [str11 stringByAppendingFormat:@"%d",123];//加上格式;
NSLog(@"%@",str11);

//8.截取字符串

NSString *str12 = @"abcdefghijk";
NSString *substr1 = [str12 substringFromIndex:1];//从b(index)开始以后全部
NSLog(@"%@",substr1);
NSString *substr2 = [str12 substringToIndex:4];//截取从0到index-1的字符串
NSLog(@"%@",substr2);

//NSRange包含位置和长度,通过NSMakeRange函数构造
NSString * substr3 = [str12 substringWithRange:NSMakeRange(3, 5)];
NSLog(@"%@",substr3);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容