当前位置:编程学习 > wap >>

IOS NSString 用法详解

//NSString 操作均不改变自身值 
//构建字符串 
NSString *szTmp = @"A string";      //直接赋值 
szTmp = nil; 
 
int n = 5; 
NSString *szMyString = [NSString stringWithFormat:@"The number is %d",n];   //The number is 5 
[szMyString stringByAppendingFormat:@"%d",22];  //附加字符串返回值:The number is 522 
                                                //但是szMyString本身并没有改变,其值依然:The number is 5   
[cpp]

//长度与索引字符 
NSLog(@"%d",szMyString.length);                 //字符串长度:15 
NSLog(@"%c",[szMyString characterAtIndex:2]);   //返回字符:e 
[cpp]
 
//与c字符串相互转换 
printf("%s\n",[szMyString UTF8String]);         //转为__strong const char * 
const char *szTmp1 = [szMyString cStringUsingEncoding:NSUTF8StringEncoding]; 
printf("%s\n",szTmp1);                          //转为__strong const char * 
 
NSLog(@"%@",[NSString stringWithCString:szTmp1 encoding:NSUTF8StringEncoding]); //转为nsstring 
[cpp]

//字符串写文件 
NSError *error; 
NSString *szPath = [NSHomeDirectory()           //应用程序沙盒路径 
                    stringByAppendingPathComponent:@"Documents/testFile.txt"];  //附加路径地址 
if (![szMyString writeToFile:szPath atomically:YES  //atomically:是否是原子访问文件的 
                    encoding:NSUTF8StringEncoding error:&error]) {          //写入成功返回yes 否则no 
    NSLog(@"Error writing to file :%@",[error localizedDescription]);       //输出错误描述 
    return 1; 

NSLog(@"File write success"); 
[cpp]

//文件读字符串 
NSString *szInString = [NSString stringWithContentsOfFile:szPath            //读取文件信息 
                        encoding:NSUTF8StringEncoding error:&error]; 
if (!szInString) 

    //失败 

NSLog(@"%@",szInString);        //成功 
[cpp]

//字符串转为数组 
NSArray *arrayWord = [szMyString componentsSeparatedByString:@" "]; //有空格的拆分为单词保存 
NSLog(@"%@",arrayWord); 
[cpp]

//索引子串 
NSString *szSub1 = [szMyString substringToIndex:3];     //0-2,前3个:The 
NSLog(@"%@",szSub1); 
 
NSString *szSub2 = [szMyString substringFromIndex:4];   //4-尾,去掉前4个:number is 5 
NSLog(@"%@",szSub2); 
[cpp]

//范围索引 
NSRange range; 
range.location = 4;     //从4开始 
range.length = 6;       //6个字符 
NSString *szSub3 = [szMyString substringWithRange:range];       //number 
NSLog(@"%@",szSub3); 
[cpp] view plaincopy
//搜索与替换 
NSRange rangeSearch = [szMyString rangeOfString:@"is 5"];   //搜索 
if (rangeSearch.location != NSNotFound) {           //搜索不到是 NSNotFound 
    //成功:rangeSearch.location;//位置 rangeSearch.length;//长度 

 
NSLog(@"%@",[szMyString stringByReplacingCharactersInRange:rangeSearch      //用位置匹配替换 
                                                withString:@"isn't 10"]); 
 
NSString *szReplaced = [szMyString stringByReplacingOccurrencesOfString:@" " withString:@"*"];  //匹配字符串替换 
NSLog(@"%@",szReplaced); 
[cpp]

//改变大小写 
NSLog(@"%@",[szMyString uppercaseString]);      //大写 
NSLog(@"%@",[szMyString lowercaseString]);      //小写 
NSLog(@"%@",[szMyString capitalizedString]);    //首字母大写 
[cpp]

//比较字符串 
NSString *sz1 = @"Hello World!"; 
NSString *sz2 = @"Hello Mom!"; 
if ([sz1 isEqualToString:sz2]) {/*相等*/} 
if ([sz1 hasPrefix:@"Hello"]) {NSLog(@"前部分相等");}        //从头开始比较 
if ([sz1 hasSuffix:@"d!"]) {NSLog(@"后部分相等");}       //从尾部比较 
[cpp] view plaincopy
//字符串转换数字 
NSString *szNumber = @"3.14"; 
[szNumber intValue]; 
[szNumber boolValue]; 
[szNumber floatValue]; 
[szNumber doubleValue]; 
[cpp] view plaincopy
//可变字符串 
NSMutableString *szMuMyString = [NSMutableString stringWithString:@"Hello"]; 
[szMuMyString appendFormat:@"World"];       //字符串,改变自身 
[szMuMyString uppercaseString]; 
NSLog(@"%@",szMuMyString); 

补充:移动开发 , IOS ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,