Objective-C入门12:字符串


Objective-C入门12:字符串



#import <Foundation/Foundation.h>

//结构体的关键字:  struct
// 一个整体 : 由不同数据类型组成的一个整体
typedef struct Person
{
    int age ;
    char *name ; 
}Person;


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

        
//        Person peson ;
//        peson.age = 20 ;
//        peson.name = "蓝精灵" ;
//        
//        Person liuyong ;
//        liuyong.age = 69 ;
//        liuyong.name = "刘罗锅" ;
        
        

#pragma mark----------------字符串---可变字符串-------------------
//    字符串    可变字符串
 
//         字符串的初始化方式:
        NSString *string = [[ NSString alloc ] init ];
        
        NSString *string1 = [ NSString string ] ;
        
        NSString *string2 = [ [ NSString alloc ] initWithString : string1 ] ;
        
        NSString *string3 = @"..." ;
        
//        给字符串赋值:
        string = @"11211" ;
        
#pragma mark----------------字符串的处理-------------------
//        字符串处理:
#pragma mark--------------一--字符串的 格式化处理-------------------
//        1、字符串的 格式化处理
        int age = 20 ;
        NSString *name = @"陈真" ;
        NSString *inif = [ NSString stringWithFormat:@"%@今年%d" , name , age ] ;
        NSLog( @"%@" , inif ) ;
        
        
//   2.截取 哪一个 位置 的 字符串
#pragma mark--------------二--截取字符串------------------------------------
#pragma mark--------------1--从哪个位置开始截取字符串-------------------
//             1.从哪个位置开始截取字符串
//                                                            Index   不是下标
        NSString *newString = [ inif substringFromIndex:1 ] ;
        NSLog( @"%@" , newString ) ;
//        练习
        NSString *message = @"锄禾日当午,汗滴禾下土,。。。" ;
        NSString *newString1 = [ message substringFromIndex:12 ] ;
        NSLog( @"%@" , newString1 ) ;
        
#pragma mark--------------2--截取字符串到哪个位置-------------------
//              2.截取  字符串 到哪个  位置
        NSString *newString2 = [ message substringToIndex:12 ] ;
        NSLog(@"%@" , newString2 ) ;
        NSString *newString3 = [ message substringToIndex:5 ] ;
        NSLog(@"%@" , newString3 ) ;
        
#pragma mark--------------3--截取字符串从 哪 到 哪-------------------
//             3.截取  字符串   从 哪 到 哪
        NSString *message1 = @"锄禾日当午,汗滴禾下土,。。。" ;
        NSRange range ;
//        定义range结构体
        range.location = 6;
//        在这个位置的基础之上   继续数几个长度
        range.length = 5;
        NSLog( @"%@" , [message1 substringWithRange : range ] ) ;
        NSLog( @"%@" , [message1 substringWithRange : NSMakeRange(6, 5) ] ) ;
        
        

         
#pragma mark--------------三--分割字符串成数组------------------------------------
//   3. 把字符串  通过指定字符 分割成数组
        NSString *message2 = @"锄禾日当午,汗滴禾下土,。。。" ;
        NSArray *messageList = [ message2 componentsSeparatedByString : @"," ] ;
        for ( NSString *obj in messageList ) {
            NSLog( @"%@" , obj ) ;
        }
        
        NSString *result = @"武松打虎 duang!duang!duang! 老虎跑下山 ya~ya~ya~" ;
        NSArray *list= [ result componentsSeparatedByString : @" " ] ;
        NSLog( @"%@" , list[2] ) ;
        
#pragma mark--------------四--字符串的大小写转换------------------------------------
//        把所有英文 字母 转成 大写
        NSString *str = @"bRuce" ;
        NSLog(@"%@" , str.uppercaseString );
        NSLog(@"%@" , [ str uppercaseString ] );
        
//        把所有英文 字母 转成 小写
        NSLog(@"%@" , [ str lowercaseString ] );
        
//        把首 字母 转成 大写
        NSLog(@"%@" , [ str capitalizedString ] );

#pragma mark--------------五--字符串的拼接------------------------------------
//        拼接 字符串
        
//        不可变字符串的拼接是在原来的字符串的基础上 在拼接一个字符串 生成另一个新的字符串
//        不可变字符串拼接德邦两个方法都会生成一个新的字符串
//        1.   stringWithFormat  方式
//        2.
        NSString *ss = @"我是" ;
        NSString *bb = @"好人" ;
        NSString *ssbb = [ ss stringByAppendingString : bb ] ;
        NSLog( @"%@" , ssbb ) ;
//        3.
        NSString *all = [ ss stringByAppendingFormat : inif ] ;
        NSLog( @"%@" , all ) ;
        
#pragma mark--------------六--判断字符串是否包含某个字符串------------------------------------
//        判断字符串 是否 包含 某个字符串
        NSString *sss = @"上山打老虎跑了" ;
        NSRange range119 =  [ sss rangeOfString:@"老虎11" ] ;
        if( range119.location !=NSNotFound )
        {
            NSLog(@"%@", sss );
        }
        else
        {
            NSLog(@"骗人");
        }
        
#pragma mark--------------七--字符串以什么开始--结束------------------------------------
//        字符串 以什么开始 (字符串的头部包含什么内容)
//                  以什么结束
if ([sss hasPrefix : @"上山" ] != NO )
{
    NSLog(@"存在");
}
else
{
    NSLog(@"error") ;
}
        
        
if ([sss hasSuffix : @"跑了1" ] != NO )
{
      NSLog(@"存在");
}
else
{
NSLog(@"error") ;
}
    
#pragma mark----------------可变字符串------------------------------------
//        可变字符串的(拼接)添加
//        NSMutableString
//        可变字符串  是在原来字符串的基础之上  又添加了一个字符串 合成一个字符串(还是原来的字符串的对象)
        
        NSMutableString *name11 = [ [ NSMutableString alloc ] initWithString : @"bruce" ] ;
        NSRange range110 ;
        range110.location = 1 ;
        range110.length = 4 ;
        
//        替换
//        把指定位置的字符串替换成另一个字符串
        [ name11 replaceCharactersInRange : range110 withString:@"lue" ] ;
        NSLog( @"%@" , name11 ) ;
        
        
        NSMutableString *ssss = [ [ NSMutableString alloc ] initWithString : @"我是一名程序员" ] ;
        NSRange range111 ;
//        range111.location = 4 ;
//        range111.length = 3 ;
        range111= NSMakeRange(4, 3) ;
        [ ssss replaceCharactersInRange : range111 withString:@"医生" ] ;
        NSLog( @"%@" , ssss ) ;

        NSRange rrr ;
        rrr.location = 4 ;
        rrr.length = 3 ;
        
        
        
#pragma mark--------------八--删除指定字符串------------------------------------
//        删除指定   位置  长度  字符串
        rrr.location = 0 ;
        rrr.length = 4 ;
        [ ssss deleteCharactersInRange:rrr  ] ;
        NSLog( @"%@" , ssss ) ;
        
    
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值