NSString

Main.m


#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

/*___________________________NSString(不可变字符串)______________________________*/
    
    //------------1.字符串的创建--------------------
    //创建字符串常量
    NSString *string1 = @"abc";
    string1 = @"wxhl";
    NSLog(@"string1:%@",string1);
    
    //alloc常见字符串
    NSString *string2 = [[NSString alloc] initWithString:@"hello"];
    NSString *string3 = [[NSString alloc] initWithFormat:@"hello %@",@"world"];
    NSLog(@"string2:%@",string2);
    NSLog(@"string3:%@",string3);
    
    //字符串的拼接
    NSString *s1 = @"zhansan";
    NSString *s2 = @"lisi";
    NSString *s3 = @"wangwu";
    
    NSString *string4 = [[NSString alloc] initWithFormat:@"%@ %@ %@",s1,s2,s3];
    NSLog(@"string4:%@",string4);
    
    float weight = 76.8;
    NSString *string5 = [[NSString alloc] initWithFormat:@"%@  体重:%.2f",s1,weight];
    NSLog(@"string5:%@",string5);
    
    //使用类方法创建
    NSString *str1 = [NSString stringWithString:@"test"];
    NSString *str2 = [NSString stringWithFormat:@"hello %@",@"world"];
    NSLog(@"str1:%@   str2:%@",str1,str2);
    
    //------------2.字符串的比较--------------------
    
    NSString *string6 = @"abc";
    NSString *string7 = @"aBc";
    
    //判断两个指针地址是否相同
    if (string6 == string7) {
        NSLog(@"两个指针地址相同");
    }
    
    //判断两个字符串的内容是否相同,区分大小写的
    if (![string6 isEqualToString:string7]) {
        NSLog(@"内容不相同");
    }
    
    //注意:此处在堆区创建了对象
    NSString *string8 = [[NSString alloc] initWithFormat:@"abc%@",@"def"];
    NSString *string9 = [[NSString alloc] initWithFormat:@"abc%@",@"def"];
    
    if (string8 == string9) {
        NSLog(@"两个指针内存地址相同");
    }
    
    if ([string8 isEqualToString:string9]) {
        NSLog(@"string8和string9内容相同");
    }
    
    //没有在堆区创建对象
    NSString *string10 = [[NSString alloc] initWithString:@"1234"];
    NSString *string11 = [[NSString alloc] initWithString:@"1234"];
    
    if (string10 == string11) {
        NSLog(@"两个指针地址相同");
    }
    
    //比较字符串的大小compare,区分大小写
    NSString *string12 = @"abc";
    NSString *string13 = @"abC";
    NSComparisonResult result = [string12 compare:string13];
    
    if (result == NSOrderedAscending) {
        NSLog(@"string12 < string13");
    }else if (result == NSOrderedSame) {
        NSLog(@"string12 == string13");
    }else if (result == NSOrderedDescending) {
        NSLog(@"string12 > string13");
    }
    
    //不区分大小写比较
    NSComparisonResult result1 =  [string12 caseInsensitiveCompare:string13];
    if (result1 == NSOrderedAscending) {
        NSLog(@"string12 < string13");
    }else if (result1 == NSOrderedSame) {
        NSLog(@"string12 == string13");
    }else if (result1 == NSOrderedDescending) {
        NSLog(@"string12 > string13");
    }
    
    //------------3.字符串的其他用法--------------------
    NSString *string14 = @"12345678";
    //取得字符串的长度
    NSUInteger len = [string14 length];
    NSLog(@"len:%ld",len);
    
    //转换大小写
    NSString *string15 = @"hElLo world";
    //uppercaseString将字符串转换成大写
    NSLog(@"upper:%@",[string15 uppercaseString]);
    //lowercaseString将字符串转换成小写
    NSLog(@"lower:%@",[string15 lowercaseString]);
    //capitalizedString将首字母转换成大写
    NSLog(@"capital:%@",[string15 capitalizedString]);
    
    //将字符串转化成基本数据类型
    NSString *string16 = @"12.3";
    //错误
//    float f = (float)string16;
//    [string16 integerValue]  转换成整型
    float f1 = [string16 floatValue];
    NSLog(@"f1:%f",f1);
    
    NSString *string17 = @"1";
    BOOL s = [string17 boolValue];
    
    //字符串的截取
    NSString *string18 = @"1234567qwertyu";
    //方式1:substringToIndex:从字符串的开头截取到指定下标的地方,并且不包括指定位置的字符
    NSString *subString1 = [string18 substringToIndex:7];
    NSLog(@"subString1:%@",subString1);
    
    //方式2:substringFromIndex:从指定字符开始截取到字符串的结尾,并且包括指定字符
    NSString *subString2 = [string18 substringFromIndex:7];
    NSLog(@"subString2:%@",subString2);
    
    //方式3:substringWithRange  截取指定的字符串
    NSRange range = {1,6};  //1.表示截取的位置下标,6:截取的长度
    NSString *subString3 = [string18 substringWithRange:range];
    NSLog(@"subString3:%@",subString3);
    
    //字符串的追加
    NSString *string19 = @"hello";
    //在字符串string19后面追加字符串,返回一个新的字符串
    NSString *string20 = [string19 stringByAppendingString:@"  world"];
    NSLog(@"string20:%@",string20);
    NSString *string22 = [string19 stringByAppendingFormat:@" %@",@"world"];
    NSLog(@"string22:%@",string22);
    //    NSString *string21 = [NSString stringWithFormat:<#(NSString *), ...#>]
    //    NSString *string21 = [NSString alloc] initWithFormat:<#(NSString *), ...#>
    
    //字符串查找
    NSString *string23 = @"www.baidu.com";
    //查找字符串中是否存在@“baidu”
    NSRange rg = [string23 rangeOfString:@"baidu"];
//    NSLog(@"location:%ld  length:%ld",rg.location,rg.length);
    
    //如果没有找到,location的值为NSNotFound
    if (rg.location !=  NSNotFound) {
        NSLog(@"location:%ld  length:%ld",rg.location,rg.length);
    }
    //如果给你一个字符串:@“123456@qq.com”,让你判断是否为邮箱
    //只需要查找“@”
    
    //通过下标取字符串中的字符
    NSString *string24 = @"abcdefg";
    unichar c = [string24 characterAtIndex:3];
    NSLog(@"%c",c);
    
/*___________________________NSMutableString(可变字符串)__________________________*/
    
//    NSMutableString *mutStr1 = @"abc";  错误的,此处实质上是创建了一个不可变字符串
    
    //插入
    NSMutableString *mutString1 = [[NSMutableString alloc] initWithString:@"hello "];
    //insertString  在原有的字符串上插入字符串
    [mutString1 insertString:@"world" atIndex:6];
    NSLog(@"mutString1:%@",mutString1);
    
    //追加
    [mutString1 appendString:@" everyone"];
    NSLog(@"mutString1:%@",mutString1);
    
    //删除
    NSMutableString *mutString2 = [[NSMutableString alloc] initWithString:@"可变字符符符串"];
    //删除“符符”
    NSRange deletRg = [mutString2 rangeOfString:@"符符"];
    //如果找到了
    if (deletRg.location != NSNotFound) {
        [mutString2 deleteCharactersInRange:deletRg];
        NSLog(@"mutString2:%@",mutString2);
    }
    
    //替换
    NSMutableString *mutString3 = [[NSMutableString alloc] initWithString:@"kebian字符串"];
    //先找到需要替换的字符串
    NSRange replaceRg = [mutString3 rangeOfString:@"kebian"];
    //replaceCharactersInRange  在原有的字符串上替换字符串
    if (replaceRg.location != NSNotFound) {
        [mutString3 replaceCharactersInRange:replaceRg withString:@"可变"];
        NSLog(@"mutString3:%@",mutString3);
    }
    
    return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值