OC 字符串

对字符串urlStr中的汉字 特殊字符 进行编码

          NSString *newStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

 

hasPrefix以什么开头

          NSString* string = @"afdsfads";

          BOOL*isHave = [string hasPrefix:@"afd"];

Suffix 以什么结尾

 

str是否包含@"code=“

1)  [str isContainsString:@"code=“];

 

2)  if([string rangeOfString:@"dsf"].length!= 0) {

        NSLog(@"包含");                                     

    }

截取字符串 @"code=“分隔为两个或多个字符串

      NSArray*array = [str componentsSeparatedByString:@"code="];

 

字符串替代@“a”代替@“b”

          NSString*name = [_name_TF.text stringByReplacingOccurrencesOfString:@“b” withString:@“a”];

 

大写转小写

[string lowercaseString];

小写转大写

4.[string uppercaseString];

 

data string的转换

data-> string

[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];

    

     string-> data

[@"123" dataUsingEncoding:NSUTF8StringEncoding];

 

 让按钮的title 部分字符串为其他颜色或有下划线

    NSMutableAttributedString 可改变属性的字符串

          NSString *title = sender.currentTitle;

    /*可以添加属性的字符串*/

    NSMutableAttributedString*attStr = [[NSMutableAttributedString alloc] initWithString:title];

    NSRangerange = [title rangeOfString:@"新用户"];

    NSDictionary*dic = @{NSForegroundColorAttributeName:[UIColor blackColor],NSUnderlineStyleAttributeName:@(NSUnderlineStyleSingle)};

    [attStr setAttributes:dicrange:range];

    [sender setAttributedTitle:attStrforState:UIControlStateNormal];

 

不可变字符串用copy修饰

可变字符串用retain修饰

 

//测试1:

    //测试内容:将一个NSString给属性赋值

    //结论:如果说是不可变字符串给一个不可变字符串属性赋值,不管是retain还是copy,没有影响

    NSString*str = @"123";

    self.str1 = str;

    self.str2 = str;

    NSLog(@":%@---%@",self.str1,self.str2);

    str = @"456";

    NSLog(@":%@---%@",self.str1,self.str2);

   

    //测试2:

    //结论:可变字符串给不可变字符串的属性赋值,如果可变字符串的内容换了,那么retain修饰的属性也换了,copy不换

    NSMutableString*mutableStr = [NSMutableString stringWithString:@"123"];

    self.str1 = mutableStr;

    self.str2 = mutableStr;

    NSLog(@":%@---%@",self.str1,self.str2);

    [mutableStr appendString:@"456"];

    NSLog(@":%@---%@",self.str1,self.str2);

   

    //总结:通过测试1和测试2 --> NSString属性,copy修饰(目的是为了防止可变字符串给属性赋值)

   

   

    //测试3:

    self.str3 = [NSMutableStringstringWithString:@"123"];

    self.str4 = [NSMutableStringstringWithString:@"123"];

   

    NSLog(@"%@====%@",self.str3,self.str4);

    //[self.str3appendString:@"456"];

    [self.str4 appendString:@"456"];

    NSLog(@"%@====%@",self.str3,self.str4);

    //结论:由于可变字符串属性用copy修饰,意味着self.str3的内容不可变,如果强制拼接,崩溃了

    //可变字符串属性一般用retain修饰

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值