NSString和NSMutableString的相关总结

自己也是初学,菜鸟一枚,根据老师的课程总结模板,自己记录保存下来,方便以后查阅,有学习的朋友一起分享一下!


 

1.//OC,C字符串类型转换

Char *s = “Hello Objective-C”;

NSString *str = @”Hello”;

//C->OC

NSString  *str1 = [NSString   stringWithUTF8String : s];

NSLog(@”str1 = %@”, str1);//运行结果:str1 = Hello Objective-C

//0C-C

NSLog(@”str2 = %s”,[str UTF8String]);//运行结果:str2 = Hello

2.//创建字符串

NSString *str3 = @”IOS”;

NSString *str4 = [[NSString alloc] init];

Str4 = @”IOS”;

3.//*格式化字符串*

int a= 10;

Int b= 20;

NSString *str5 = [NSString   stringWithFormat: @”a=%d b=%d”,a,b];

NSLog(@”str5 = %@”, str5);//运行结果str5 = a=10 b=20

4.//拼接字符串

NSString *str6 = [str5  stringByAppendingString: str3];

NSLog(@”str6 = %@”, str6);//运行结果: str6 = a=10 b=20IOS

5.//大小写转换

//转换为小写

NSString *str7 = @”aBcDEF”;

NSString *str8 = [str7 lowercaseString];

NSLog(“@”str8 = %@“,str8);//运行结果:str8 = abcdef

//转换为大写

NSString *str9 = [str7 uppercaseString];

NSLog(@”str9 = %@”,str9);//运行结果:ABCDEF

6.//前缀和后缀的判断

NSString *str10 = @”www.baidu.com”;

//判断前缀

BOOL hasPreFix = [str10 hasPrefix:@”www.”];

if(hasPreFix)

  NSLog(@”有对应前缀”);

Else

  NSLog(@”没有对应前缀”);//运行结果: 有对应前缀

//判断后缀

BOOL hasSuffix = [str10 hasSuffix:@”.cim”];

if(hasSuffix)

  NSLog(@”有对应后缀”);

else

  NSLog(@”没有对应后缀”);//运行结果: 没有对应后缀

7.//判断两个字符串是否相等

NSString *str11 = @”Hello”;

NSString *str12 = @”Hello”;

if([str11 isEqualToString: str12])

  NSLog(@”两个字符串一致”);

Else

  NSLog(@”两个字符串不一致”);//运行结果:两个字符串不一致

 

//比较字符串

//NSComparisonResult

 

8.//分割

//按照指定字符分割字符串

NSString *str13 = @”a,b,c,d,e,f,g”;

NSArray *strArray = [str13  componentsSeparatedByString:@”,”];

for(NSSting *str in strArray)

{

  NSLog(@”str = %@”,str);

}//运行结果 str = a(回车换行).......str = g(回车换行)

 

//按照范围截取字符串

NSRange range = NSMakeRange(1,5);

NSString *str14 =[str13 substringWithRange:range];

NSLog(@”str14 = “%@”,str14);//运行结果:str14 = ,b,c,

//从某一位开始截取后面的字符串

NSString *str15 = [str13  substringFromIndex: 2];

NSLog(@”str15 = %@”,str15);//运行结果:b,c,d,e,f,g

//从开头截取到某一位

NSString *str16 = [str13 substringToIndex:7];

NSLog(@”str16 = %@”, str16);//运行结果:a,b,c,d

//将字符串拆分为每一个字符

For(int i=0; i<[str13 length]; i++)

{

  NSLog(@”%c”, [str13 characterAtIndex: i]);

}//运行结果: a(回车),(回车)b..........,(回车)g(回车)

 

9.//查找

NSString *str17 = @”ab cd ef gh ij ab”;

//查找指定字符串的位置

NSRange range1 = [str17 rangeOfString : @”ab”];

 NSLog(@"range1.location:%ld   range1.length:%ld”,range1.location,range1.length);//运行结果:range1.location:0  range1.length:2

 

10.//替换

NSString *str18 = @”Hello IOS, Hello imooc”;

//替换某一个范围的内容

NSString *str19 =[str18   stringByReplacingCharactersInRange:

NSMakeRange(0,5)  withString:@”你好”];

NSLog(@”str19 = %@”,str19);//运行结果 你好 IOS,Hello imooc

 

//用指定字符串替换源字符串中的字串

/*stringByReplacingOccurrencesOfString - 源字符串中要被替换的内容

withString - 替换的字符串*/

NSString *str20 = [str18  stringByReplacingOccurrencesOfString:@”Hello” 

withString:@”你好”];

NSLog(@”str20 = %@”, str20);//运行结果:你好 IOS,你好,imooc

 

11.//读取文件

//文件来源:1.本地文件 2.网络文件

//路径类

NSString *str21 = @”www.baidu.com”;

//网络路径

NSURL *httpURL = [NSURL   URLWithString:str21];

//本地路径

NSString *fileURL = [NSURL   fileURLWithPath:str21];

//读取网络文件

NSString *httpStr = [NSString   stringWithContentsOfURL:httpURL

encoding: NSUTF8StringEncoding error :nil];

NSLog(@”httpStr = %@”, httpStr);

//读取本地文件:创建文件-文本编辑-格式-制作纯文本,假设在桌面中创建了test.txt文件

//test.txt中可写入内容: Hello IOS, Hello imooc;

NSString *fileStr = [NSString  stringWithContentsOfFile:@”/Users/Visitor/Desktop/test.txt”encoding:NSUTF8StringEncoding error: nil];

NSLog(@fileStr = “%@”,fileStr);//运行结果:fileStr = Hello IOS,Helloimooc;

 

12.//写入文件

NSString *str22 = @”Hello Visitor”;

BOOL isOk=[Str22   writeToFile:@”/Users/Visitor/Desktop/test.txt”

atomically:YESencoding:NSUTF8StringEncoding error: nil];

If(isOk)

  NSLog(@”文件写入成功”);

Else

  NSLog(@”文件写入失败”);//运行结果:文件写入成功

 



NSMutableString可变字符串

NSMutableString *str =[ [NSMutableString alloc]initWithCapacity:10];

[str setString:@”Hello”];//先分配10个字节内存,然后超出后自动增加,因为这是动态可变

 

1.//追加字符串

[str appendString:@” world”];

NSLog(@”str = %@”, str);//运行结果:str = Hello world

int a = 10;

[str appendFormat:@” - %d ”,a];

NSLog(@”str = %@”, str);//运行结果 str = Hello world - 10

2.//替换字符串

NSRange range = [str   rangeOfString:@”world”];

[str replaceCharactersInRange:rangewithString:@”IOS”];

NSLog(@”str = %@”, str);//运行结果:str = Hello IOS - 10

3.//插入字符串

[Str insertString:@”A” atIndex:6];

NSLog(@”str = %@”,str);//运行结果:str = Hello AIOS - 10

4.//删除字符串

NSRange range1 = [str rangeOfString:@”AIOS”];

[str deleteCharactersInRange:range1];

NSLog(@”str = %@”, str);//运行结果: str = Hello -10


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值