IOS NSString 用法详解

来源:互联网 发布:美的 格兰仕 知乎 编辑:程序博客网 时间:2024/05/29 19:11
//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] view plaincopy//长度与索引字符  NSLog(@"%d",szMyString.length);                 //字符串长度:15  NSLog(@"%c",[szMyString characterAtIndex:2]);   //返回字符:e  [cpp] view plaincopy//与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] view plaincopy//字符串写文件  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] view plaincopy//文件读字符串  NSString *szInString = [NSString stringWithContentsOfFile:szPath            //读取文件信息                          encoding:NSUTF8StringEncoding error:&error];  if (!szInString)  {      //失败  }  NSLog(@"%@",szInString);        //成功  [cpp] view plaincopy//字符串转为数组  NSArray *arrayWord = [szMyString componentsSeparatedByString:@" "]; //有空格的拆分为单词保存  NSLog(@"%@",arrayWord);  [cpp] view plaincopy//索引子串  NSString *szSub1 = [szMyString substringToIndex:3];     //0-2,前3个:The  NSLog(@"%@",szSub1);    NSString *szSub2 = [szMyString substringFromIndex:4];   //4-尾,去掉前4个:number is 5  NSLog(@"%@",szSub2);  [cpp] view plaincopy//范围索引  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] view plaincopy//改变大小写  NSLog(@"%@",[szMyString uppercaseString]);      //大写  NSLog(@"%@",[szMyString lowercaseString]);      //小写  NSLog(@"%@",[szMyString capitalizedString]);    //首字母大写  [cpp] view plaincopy//比较字符串  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);  

0 0
原创粉丝点击