oc中字符串的一些简单用法

本文介绍Objective-C中NSString类的各种操作方法,包括字符串长度获取、数值转换、字符串比较、查找及截取等功能,并演示了如何使用这些方法实现字符串处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//

//  main.m

//  6NSString

//

//  Created by 4_5 on 13-8-18.

//  Copyright (c) 2013 南阳理工学院. All rights reserved.

//

//字符串为我们封装了许多可以直接拿来用的方法 比如, 获取字符串的长度,字符串的比较,字符串的拼接,查找,截取等


#import <Foundation/Foundation.h>


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

{


    @autoreleasepool {

        

        NSString *string1 =@ "999" ;

        NSString *string2 = @"888" ;

        int int1 = [string1 intValue] ; //把字符串型的转换成int型的

        int int2 = [string2 intValue] ;

        int result ;

        result =int1 - int2 ;

        NSString *resultString = [NSString stringWithFormat:@"%d",result] ;

        NSLog(@"result = %d,resultString = %@",result,resultString);

        unsigned long strlength1 = [string1 length] ;//如果定义成int型的就会出现警告  因为length的返回类型就是unsigned  也可以写成 NSUInteger

        unsigned long strlength2 = [string2 length] ;

        unsigned long resultlength = [resultString length] ;

        NSLog(@"strlength1 = %ld,strlength2 = %ld,resultlength = %ld",strlength1 ,strlength2,resultlength) ;

    }

    NSString *str3 = @"hello world" ;

    NSString *str4 = [NSString stringWithFormat:@"hello world"] ;

    NSString *str5 = [NSString stringWithString:@"hello world"] ;//是一个浅拷贝,源对象与拷贝对象共用一个实体 ,只是变量名不同而已

    if([str3 isEqualToString:str4])

    {

        NSLog(@"str3 and str4字符串内容相等");

    }

    if (str3==str4) {

        NSLog(@"str3 and str4字符串指针相等");

    }

    if ([str3 isEqualToString:str5]) {

        NSLog(@"str3 and str5字符串内容相等");

    }

    if (str3==str5) {

        NSLog(@"str3 and str5字符创指针相等") ;

        

    }

    //字符串的比较

    //-(NSComparisonResult*)compare:(NSString*)astring 改方法比较字符串时区分大小写

  // -(NSComparisonResult*)compare:(NSString *)astring options:(NSStringCompareOptions)mask

    //改方法在比较字符串是可以加一些额外控制选项

    //NSComparisonResult是一个枚举类型的

    NSString *str6 = @"hello" ;

    NSString *str7 = @"Hello" ;

    switch ([str6 compare:str7]) {

        case NSOrderedAscending:

            NSLog(@"升序是%ld",NSOrderedAscending) ;

            break;

            

            case NSOrderedDescending:

            NSLog(@"降序是%ld",NSOrderedDescending) ;

            break ;

            

            case NSOrderedSame:

            NSLog(@"相等时%ld",NSOrderedSame) ;

            break ;

            

        default:

            break;

    }

            //字符串的查找与截取

            NSString *str8 = @"ios-45.doc" ;

            if ([str8 hasPrefix:@"ios"]) {

                NSLog(@"本字符串是以ios开头的");

            }

            if ([str8 hasSuffix:@".doc"]) {

                NSLog(@"本字符串是以doc结尾的");

            }

            char c = [str8 characterAtIndex:2] ;//索引从0开始

    NSString *fromString = [str8 substringFromIndex:5] ;//从第5个到最后

    NSString *toString = [str8 substringToIndex:5] ;//从开始到第5个不包括第五个

    NSString *rangeString = [str8 substringWithRange:NSMakeRange(3, 5)] ;//从第3个数取出5个字符

            NSLog(@"c= %c,from = %@,to = %@,range = %@",c,fromString,toString,rangeString) ;

    

//字符串的替换,可变数组可以在原数组的基础上进行修改,不可变数组返回的是一个新的数组,原数组没有改变

    NSString *oldstring = @"hello" ;

    NSString *newString = [oldstring stringByReplacingOccurrencesOfString:@"h" withString:@"g"] ;

    NSLog(@"newString = %@",newString);

            

                

    

    

    return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值