objective-c 字符串

本文详细介绍了NSString和NSMutableString的使用方法,包括字符串创建、格式化、大小写转换、长度查询、子串提取、字符串拼接及文件读写等操作,并展示了如何利用NSMutableString进行字符串的动态修改。

NSString(静态 不可修改类)  NSMutableSring(动态)

静态

NSString * str=@"123";

类的行为

把数值转化成字符串(格式化)

NSString * str =[NSString stringWithFormat:@"%d",123];

NSLog(@"%@",str);

 

 

字符串大小写处理

NSString * str= @"abc";

str =[str lowercaseString];//字符串小写处理 必须是纯英文
str =[str uppercaseString];//字符串大写处理 必须是纯英文

 

 

查询字符串的个数 length

NSString * str=@"123";

NSLog(@"%u",[str length]);

把字符串转化回UTF-8编码查询长度

NSLog(@"%u",[str lengthOfBytesUsingEncoding:NSUTF8StringEncoding]);

查询字符串成员 rangeOfString

NSString * str =@"12.3";

NSRange rang=[str rangeOfString:@"."];

 

查询当前字符在哪个位置location  长度是多少length

NSLog(@"leng=%d,location=%d",rang.length,rang.location);

 

查询字符串是否有 “2” 成员. NSNotFound 是一个宏 意思是没有发现

 

       NSRange rang=[str rangeOfString:@"2"];

        if(rang.location==NSNotFound)

        {

            NSLog(@"没有");

        }else

        {

            NSLog(@"");

        }

 

是否是以什么字符串开头或者结尾的

NSString * str=@"12.3";

BOOL b=[str hasPrefix:@"1"];//开头

if(b)

{

  NSLog(@"");

}else

{

  NSLog(@"不是"):

}

 

//结尾的

NSString * str=@"12.3";

BOOL b=[str hasSuffix:@"3"];//结尾的

if(b)

{

  NSLog(@"");

}else

{

  NSLog(@"不是"):

}

 

 

提取子字符串

NSString * str =@"212.3";

NSLog(@"%@",[str substringFromIndex:2]);//根据索引位置开始提取(索引2 到结束)

NSLog(@"%@",[str substringToIndex:2]);//从开始到索引的位置结束

 

范围提取    (范围NSRange)

NSRange rang={0,2};//索引0 到 2结束

NSLog(@"%@",[str substringWithRange:rang]);

 

 

倒着打印出来

NSString * str =@"123456";

NSRange r={0,1};

for(int i=str.length; i>=0; i--)

{

  r.location=i;

  NSLog(@"%@",[str substringWithRange:r]);

}

 

删除字符串两端的空格

NSString * str=@"123";
        
        NSString * str1=@" 456 ";
        
        str1=[str1 stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
        
        NSString * str2=@"7";
        
        NSLog(@"%@%@%@",str, str1, str2);

 把字符串写入磁盘的文件

   NSString * str =@"123这个";

   [str writeToFile:@"abc.txt" atomically:NO encoding:NSUTF8StringEncoding error:nil];

读取文件里面的字符串

 NSString * str;
 NSError * error;//出错对象
  str =[NSString stringWithContentsOfFile:@"abc.txt" encoding:NSUTF8StringEncoding error:&error];
 NSLog(@"%@",str);
 NSLog(@"%@",error);//打印出错信息

字符串相加(相连)

NSString * str =@"123";
//str=[NSString stringWithFormat:@"%@%@",str, @"123"];
str =[str stringByAppendingString:@"123"];
NSLog(@"%@",str);

 

NSMutableSring(动态)

//创建一个空间
NSMutableString * str =[NSMutableString stringWithCapacity:100];
NSLog(@"%@",str);
//[str appendString:@"123"];
[str appendFormat:@"%d",123];//带格式化的增加
//范围替换
NSRange r={0,2};
[str replaceCharactersInRange:r withString:@"sdf"];
NSLog(@"%@",str);

删除字符串

NSMutableString * str =[NSMutableString stringWithCapacity:100];
[str appendFormat:@"%d",123];
NSRange r={0,2};
[str deleteCharactersInRange:r];
        NSLog(@"%@",str);

 

转载于:https://www.cnblogs.com/linzewei/p/7700083.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值