2016-04-18 _OC – 常用字符串方法

OC – 常用字符串方法

     NSString  

     字符串的创建:

//------------------字符串的创建----------------------

//创建方法1

        NSString *str1 = @"张三";

        //创建方法2

        NSString *str2=[NSString new]; //创建的是一个空字符串

        //创建方法3

        NSString *str3 = [NSString stringWithFormat:@"%@%d",str1,5];

       

        NSLog(@"%@,%@,%@",str1,str2,str3);

        //创建方法4

        NSString *str4 = [NSString string];

        //创建方法5

       NSString *str5 = [NSStringstringWithString:@"Hello"];//会提示使用方法1的方式就可以了

   

       NSLog(@"%@,%@,%@",str1,str2,str3);

 

 

NSRange

 

--NSRange的定义

typedef struct _NSRange

{

    unsigned int location;

    unsigned int length;

}NSRange;

 

NSMakeRange函数

--这个函数比较特殊 返回一个NSRange的对象。

NSMakeRanger(unsigned intlocation,unsigned int length);

例如:

NSRange range = NSMakeRanger(0,5);

NSLog(@"location is %d,lengthis %d",range.location,range.length);

 

 

 

获取子字符串的三种方法:

 

    –substringFromIndex: 获取从某个下表开始到完

    –substringWithRange:获取给定起始位置和长度

    substringToIndex:获取从头开始到某一个下标

//------------------字符串截取----------------------

        NSString *str = @"HelloWorld!";

        //根据起始点和长度

        NSString *nStr = [str substringWithRange:NSMakeRange(6, 5)];

        //输出

        NSLog(@"%@",nStr);

       

        //从某个下标开始到结束,截取字符串

        NSString *nstr1 = [str substringFromIndex:6];

        NSLog(@"%@",nstr1);

        //从头开始,到某个下标结束,截取字符串

        NSString *nstr2 = [str substringToIndex:6];

        NSLog(@"%@",nstr2);

 

比较字符串是否相等:

    isEqualToString方法,返回BOOL型结果

        NSString *string1 = @"Hello";

        NSString *string2 = @"Hello";

        if ([string1 isEqualToString :string2])

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

        if (string1 == string2)

            NSLog(@"字符串指针相同");

    }

 

比较字符串大小:

     compare方法比较字符串区分时区分大小写

     compare:options方法比较字符串时可以额外控制其他选项,例如是否区分大小写

               NSCaseInsensitiveSearch:不区分大小写字符

              NSLiteralSearch:区分大小写,进行完全比较

              NSNumericSearch:根据字符串中数字大小进行比较,而不是ASCII码值,三个选项可以使用|进行多选

        //------------------比较两个字符串大小----------------------

        NSString *str6 = @"Hi";

        NSString *str7 = @"hi";

        NSLog(@"%ld",(long)[str6 compare:str7]);

       

        NSString *str8 =@"yes1";

        NSString *str9 =@"YES2";

        NSComparisonResult a=[str8 compare:str9 options:NSCaseInsensitiveSearch];//不区分大小写

        NSLog(@"%ld",a);

        a=[str8 compare:str9 options:NSLiteralSearch];//区分大小写

        NSLog(@"%ld",a);

        a=[str8 compare:str9 options:NSNumericSearch];//根据字符串中数字大小进行比较

        NSLog(@"%ld",a);

        a=[str8 compare:str9 options:NSLiteralSearch | NSNumericSearch];

        NSLog(@"%ld",a);

 

hasPrefix:以什么开头

hasSuffix:以什么结尾

        //------------------字符串以什么开头、结尾----------------------

        NSString *fileName =@"ios_45.doc";

        if ([fileName hasPrefix:@"ios"])//判断是不是ios开头

        {

            NSLog(@"是以ios开头!");

        }

        if ([fileName hasSuffix:@".doc"])//判断是不是.doc结尾

        {

            NSLog(@"是以.doc结尾!");

        }

 

rangeOfString:是否包含其他字符串

        //------------------字符串是否包含其他字符串----------------------

        NSString *str = @"HelloWorld!";

        //查找str中是否有包含@“llo”,若有返回位置和长度则代表有找到指定字符串

        NSRange range = [str rangeOfString:@"llo"];

        NSLog(@"%lu,%lu",range.location,range.length);

 

 

-(double)doubleValue将字符串转换成double类型

-(float)floatValue将字符串转换成float类型

-(int)intValue 将字符串转换成int类型

NSString *str = @"123";

        int a = [str intValue];//将数字串转化成整型数据

        NSLog(@"%d",a);

        float b =[str floatValue];//将数字串转化成float

        NSLog(@"%f",b);

        double c =[str doubleValue];//将数字串转化成double

        NSLog(@"%lf",c);

 

 

-(NSString*)uppercaseString将字符串全部转成大写

-(NSString*)lowercaseString将字符串全部转成小写

-(NSString*)capitalizedString将字符串的每个单词的开头字母转成大写

        //----------------字符串大小写转换-----------------

        NSString *s2 = @"Helloworld!";

        NSString *d2 = [s2 uppercaseString];//转成大写的

        NSLog(@"转成大写:%@",d2);

        d2 = [s2 lowercaseString];//全部转成小写

        NSLog(@"转成小写:%@",d2);

        d2 = [s2 capitalizedString];//将一个字符串中每个单词首字母大写

        NSLog(@"%@",d2);

 

 

 

-(NSString*)stringByReplacingOccurrencesOfString:(NSString*)target withString:(NSString *)replacement:把字符串里面的某个字符串替换成指定字符串

-(NSString*)stringByReplacingCharactersInRange:(NSRange)rangewithString:(NSString *)replacement:指定字符串中的位置,替换成要的字符串

        //------------------字符串替换函数----------------------

        NSString *str = @"I am acoder!";

        str = [str stringByReplacingOccurrencesOfString:@" "withString:@"-"];//空格替换成 -

        NSLog(@"%@",str);

        //指定字符串中的位置,替换

        str = [str stringByReplacingCharactersInRange:NSMakeRange(7, 5) withString:@"techer"];

        NSLog(@"%@",str);

 

-(NSArray *)componentsSeparatedByString:(NSString*)separator:以指定的字符串做分割依据,将一个大的字符串分割开来,返回一个数组

        //------------------字符分割函数----------------------

        NSString *str1 = @"57525575@qq.com,455421747@qq.com,15133513@qq.com";

        NSArray *arrEmails = [str1 componentsSeparatedByString:@","];// @"," 来分割

        NSLog(@"%@",arrEmails);

 

可变字符串NSMutableString的创建

NSMutableString *mStr = [NSMutableStringnew];

 

 

-(void)appendString:(NSString *) string; 在字符串后面追加字符串

-(void)appendFormat:(NSString *) format,…;

        //------------------可变字符串----------------------

        NSMutableString *mStr = [NSMutableStringnew];

        //拼接

        [mStr appendString:@"/Users/guansong/Desktop/班级项目"];

        NSLog(@"%@",mStr);

        //拼接

        [mStr appendFormat:@"%@",@"/abc.txt"];

        NSLog(@"%@",mStr);

        //删除指定位置指定长度的字符串

        [mStr deleteCharactersInRange:NSMakeRange(4, 5)];

        NSLog(@"%@",mStr);

       

        //NSString *str11 =@"How do you do";

 

输出文本文件:

-(BOOL)writeToFile:(NSString*)pathatomically:(BOOL)useAuxiliaryFileencoding:(NSStringEncoding)encerror:(NSError**)error

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

NSError *err=nil;

        NSString *str121=@"how do you do?";

        [str121 writeToFile:@"/Users/ibokan/Desktop/1.doc"atomically:YESencoding:NSUTF8StringEncodingerror:&err];

 

 

读取文本文件

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

-(id)initWithContentsOfFile:(NSString*)pathencoding:(NSStringEncoding)encerror:(NSError **)error

//读取文本文件

        NSString *str=[NSStringstringWithContentsOfFile:@"/Users/ibokan/Desktop/1.doc"encoding:NSUTF8StringEncodingerror:nil];

        NSLog(@"%@",str);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值