Objective-C 【NSString 的其他常见用法】

来源:互联网 发布:淘宝代理兼职好不好做 编辑:程序博客网 时间:2024/06/06 04:03
———————————————————————————————————————————
NSString 的其他常见用法

//  NSString 长度、获取字符串中的每个字符、类型转换、去除前后空格等


#import <Foundation/Foundation.h>

void test1()
{
    //        ①获取字符串的长度,用字符串去调用 length 方法(这是一个对象方法,返回值是无符号的长整型)
    NSString *str1=@"12345abc12345王中尧";//无论数字、英文、汉字 都算是一个字符
    
    //        NSUInteger length1=[str1 length];
    NSUInteger length1=str1.length; //这里是调用length的get方法,和上面一行的作用一样
    
    NSLog(@"%ld",length1);
}

void test2()
{
//    ②获取字符串中的每一个字符
    NSString *str2=@"faffafs123131,.11~~~!!23!"; //这里先不考虑中文在字符串内,因为我们打印是用的C语言中的东西,用%c、%s、%@都不好使
    NSUInteger len=str2.length;
    unichar c;
    for (int i=0; i<len; i++) {
        c=[str2 characterAtIndex:i];
        printf("%c ",c);
    }
}

void test3()
{
//    ③字符串 和 其他数据类型 的转换
    
//    ★首先我们可以通过一个方法将其他很多种数据类型转换成字符串类型:
    int a=12;
    float b=3.14f;
    
    NSString *str1=[NSString stringWithFormat:@"%d",a];
    NSString *str2=[NSString stringWithFormat:@"%f",b];
    
    NSLog(@"str1 = %@,str2 = %@",str1,str2);
    
//    ★将字符串转化为其他数据类型
    
    //    将字符串转化为int类型
    NSString *str3=@"23";
    int i=[str3 intValue];
    NSLog(@"%d",i);
    
    //    将字符串转化为float类型
    NSString *str4=@"1.234";
    float f=[str4 floatValue];
    NSLog(@"%f",f);
    
    //    将字符串转化为int类型
    NSString *str5=@"2343.3320";
    double d=[str5 doubleValue];
    NSLog(@"%lf",d);
}

void test4()
{
//    ④OC字符串对象 和 C语言字符串 的相互转化
    
    //    将 OC字符串对象 转换为 C语言的字符串(OC字符串是一个对象,所以转换成C语言字符串调用的是 对象方法)
    NSString *str1=@"fasfas121";
    const char *s1=[str1 UTF8String];//注意 UTF8String方法 的返回值是 const char 类型的
    NSLog(@"s1 = %s",s1);
    
    //    将 C语言的字符串 转换为 OC字符串对象(C语言的字符串不是对象,所以要转换成OC的字符串对象只能通过NSString类调用类方法)
    char ch[]="fafsfas213";
    NSString *ocStr=[NSString stringWithUTF8String:ch];
    NSLog(@"ocStr = %@",ocStr);
}

void test5()
{
    //    ⑤去除字符串首尾的 XXXXX
    
    //        首先,以下的四个方法,stringByTrimmingCharactersInSet这个方法名是一定要写的。到底去除的是什么,还得看后面NSCharacterSet 类调用什么类方法。
    
    //1、去除字符串首尾的空格
    NSString *str1 = @" itc ast ";
    NSString *newStr1 = [str1 stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    NSLog(@"-------%@-------",newStr1);
    
    //2、去除字符串的首尾大写字符(首尾如果有多余的空格,是不会去除空格后面的大写字母的)
    //        比如说 NSString *str22=@" IOSitAcastIT ";  ,这时就不会去除首尾的大写字母
    NSString *str2= @"IOSitAcastIT";
    NSString *newStr2  = [str2 stringByTrimmingCharactersInSet:[NSCharacterSet uppercaseLetterCharacterSet]];
    NSLog(@"-------%@-------",newStr2);
    
    //还有很多方法,大家自己查阅资料去尝试。这一部分不用死记硬背,用的时候查一下会用就行。
}

int main(int argc, const char * argv[]) {
    @autoreleasepool {
//        验证时调用上面的test1~test5函数即可
    }
    return 0;
}


———————————————————————————————————————————
9 0
原创粉丝点击