NSString基本常用方法

//

//  MyViewController.m

//  NSStringDemol

//

//  Created by bml on 14-5-13.

//  Copyright (c) 2014 bml. All rights reserved.

//

/*基本数据类型NSstring的应用和理解

 1.objective-c中核心处理字符串的类是 NSString NSMutableString,这俩个类他们最大的区别就是Nsstring在创建赋值以后的字符串的内容和长度不能在动态改变,除非是从新赋值 ,而NSMutableString创建赋值以后可以动态在该字符串更改长度 和内容。

 */


#import "MyViewController.h"


@interface MyViewController ()


@end


@implementation MyViewController


- (void)viewDidLoad

{

    [super viewDidLoad];

/************经典的字符串赋值***********/

    NSString *str1 = @"hello my name is 草帽";

    NSLog(@"str1----------->%@",str1);

    

    /*********将任意格式转化为字符串 格式包括 NSString*类型 int类型 char*类型*********/

    NSString *str2 = [NSString stringWithFormat:@"我的名字:%@ 我的年龄: %d 我的英文名字:%s",@"草帽",23,"straw hat"];

    NSLog(@"str2---------->%@",str2);

    

    /**********符传赋值与第一个类似************/

    NSString *str3 = [NSString stringWithString:@"我和str1类似"];

    NSLog(@"str3---------->%@",str3);

    

    /*********字符串转换为utf-8格式 参数为char*类型 ******/

    NSString *str4 = [NSString stringWithUTF8String:"字符串转换utf-8格式"];

    

    NSLog(@"str4---------->%@",str4);

    

    /*********字符串的合并********/

    //1.将不同类型的数据合并成一个字符串

    //temac,合并

    int a = 24;

    char *c = "strawHat";

    NSString *tem = @"整数类型和字符类型分别是:";

    NSString *str5 = [tem stringByAppendingFormat:@"整型:%d  字符型 %s",a,c];

    NSLog(@"合并结果--------->%@",str5);

    /*********追加字符串****************/

    NSString *tem1 =@"我是被追加的";

    NSString *str6 = [tem stringByAppendingString:tem1];

    NSLog(@"tem后加字符串tem-----%@",str6);


    

    //判断字符串中是否包含一个字符串

    [self containsString];

    

    //字符串便利 就是将每个nsstring 中的char提取出来

    [self nstringTraverse];

    

    //isEqualToString 比较字符串是否完全相等,大小写不一样也无法完全匹配。

    //hasPrefixe 匹配字符串头

    //haSuffix     匹配字符串的尾巴

    [self stringtoCompare];

    

    //字符串的截取与大小写改变

    [self interceptionAndCase];

    

    //搜索字符串与替换字符串

    [self searchAndReplace];

  

    

    

    

    

    

    //注意:在NSString 中存在自己的实例化和初始化的方法

    //下面是 关于本地文件的操作 还有很多关于编码格式    URL 操作  就不一一写啦!

     //读取文本文件

    /*NSString

    + (id)stringWithContentsOfFile:(NSString *)path usedEncoding:(NSStringEncoding *)enc error:(NSError **)error     //自动释放内存

    

    - (id)initWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error

    

    例如:

    NSString *string = [NSString stringWithContentsOfFile:@"/user/test/yw.txt" encoding:NSUTF8StringEncoding error:&error];

    if(string){}

    //输出文本文件

    NSString

    - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error

    //参数 atomically 暂时将文件保存到辅助文件中*/

  

    

}

//字符串便利 就是将每个nsstring 中的char提取出来

-(void)nstringTraverse

{

    //经典的字符串赋值

    NSString *str = @"strawHat";

    

    //字符串的长度

    int count = [str length];

    

    NSLog(@"字符串的长度是%d",count);

    

    //遍历字符串中的每一个字符

    for(int i =0; i < count; i++)

    {

        char c = [str characterAtIndex:i];

        NSLog(@"字符串第 %d 位为 %c",i,c);

    }

}


//判断字符串中是否包含一个字符串

-(void)containsString

{

    //判断字str是否包含字符传str1

    NSString *str =@"my name is caomao";

    NSString *str1 = @"caomao";

    if ([str rangeOfString:str1].location!=NSNotFound) {

        NSLog(@"str包含str1");

        

    }else

    {

         NSLog(@"str不包含str1");

    }

}


- (void)didReceiveMemoryWarning

{

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


//isEqualToString 比较字符串是否完全相等,大小写不一样也无法完全匹配。

//hasPrefixe 匹配字符串头

//haSuffix     匹配字符串的尾巴



- (void)stringtoCompare

{

   

    

    

    NSString *str0 = @"caomao";

    NSString *str1 = @"caobao";

    

    

    //字符串完全相等比较

    if([str0 isEqualToString:str1])

    {

        NSLog(@"字符串完全相等");

    }

    

    //字符串以开头比较

    if([str0 hasPrefix:@"cao"])

    {

        NSLog(@"字符串str0cao开头");

    }

    

    //字符串以结尾比较

    if([str0 hasSuffix:@"mao"])

    {

        NSLog(@"str1字符串以mao结尾");

    }

}

//搜索字符串与替换字符串

-(void)searchAndReplace


{

    NSString *str0 = @"中文my name is caomao";

    NSString *temp = @"is";

    NSRange rang = [str0 rangeOfString:temp];

    

    NSLog(@"搜索的字符串在str0中起始点的index %d", rang.location);

    NSLog(@"搜索的字符串在str0中结束点的index %d", rang.location + rang.length);

    

    //将搜索中的字符串替换成为一个新的字符串

    NSString *str = [str0 stringByReplacingCharactersInRange:rang withString:@"caomao"];

    NSLog(@"替换后字符串为%@", str);

    

    //将字符串中" " 全部替换成 *

    str = [str0 stringByReplacingOccurrencesOfString :@" " withString:@"*"];

    NSLog(@"替换后字符串为%@", str);

    

/*    拓展:使用下面这个方法整体替换字符串还可以设置替换的区域。ons:<#(NSStringCompareOptions)#> range:<#(NSRange)#>

stringByReplacingOccurrencesOfString:(NSString *)withString:(NSString *) options:(NSStringCompareOptions) range:(NSRange)*/

}


//字符串的截取与大小写改变

-(void)interceptionAndCase

{

    NSString *str0 = @"中文my name is caomao";

    

    //截取字符串起始点到index4之间的内容

    NSString * to = [str0 substringToIndex:4];

    

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

    

    //截取字符index2 到结尾之间的内容

    NSString * from = [str0 substringFromIndex:2];

    

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

    

    

    //设置截取字符串的范围

    //从第二位到第十位

    NSRange rang = NSMakeRange(2, 10);

    NSString * strRang = [str0 substringWithRange:rang];

    NSLog(@"rang = %@",strRang);

    

    //设置字符串首字母大写

    NSLog(@"str0首字母大写:%@",[str0 capitalizedString]);

    //设置字符串全部内容为大写

    NSLog(@"str0大写:%@",[str0 uppercaseString]);

    //设置字符全部内容为小写

    NSLog(@"str0小写:%@",[str0 lowercaseString]);

}


@end



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值