NSString 字符串常用方法集合

I>判断B字符串在A字符串中的位置
返回一个NSRange(长度和索引位置)长度为0 /.location不存在A不包含B
NSRangeaRange = [[str uppercaseString]rangeOfString:[searchBar.textuppercaseString]];
       if(aRange.length>0) {……}
if ([str123 rangeOfString:ttt].location!=NSNotFound) {……}

II>//字符串字符串拼接
[NSHomeDirectory()stringByAppendingString:@"/Documents/arr.plist"]
   NSString*str=[NSStringstringWithFormat:@"ios|good|really"];
III> //字符串分割。 根据一个特殊的分割标"|"示符进行分割
//字符分割返回一个数组,是分割完成的多有字符串。
NSArray*strArr=[str componentsSeparatedByString:@"|"];
NSArray *aa2   =[aa  componentsSeparatedByString:NSLocalizedString(@",", nil)];//“,”将字符串拆分成数组
IV>//字符串是否相同
if ([registName isEqualToString:@“”])
   //判断两个字符串是否相等,不能使用==,使用等号是判断两个对象是否是一个对象,也就是是否是一个内存地址。
   //判断字符串的内容是否相同应该使用nsstringisEqualToString:方法
V>width———获取显示的字符串宽度 和特定宽度获取高度。
//获取单行字符串宽度。
   CGSizeaSize = [[aButton titleForState:UIControlStateNormal]sizeWithAttributes:@{NSFontAttributeName: [UIFontsystemFontOfSize:18]}];
//获取多行字符串高度。(CGSize)size是一个参考尺寸。
CGRect rect=[statu.statuTextboundingRectWithSize:CGSizeMake(300,MAXFLOAT)options:NSStringDrawingUsesLineFragmentOriginattributes:@{NSFontAttributeName: [UIFontsystemFontOfSize:18]}context:nil];
NSStringDrawingTruncatesLastVisibleLine
如果文本内容超出指定的矩形限制,文本将被截去并在最后一个字符后加上省略号。如果没有指定NSStringDrawingUsesLineFragmentOrigin选项,则该选项被忽略。
NSStringDrawingUsesLineFragmentOrigin一般用这两个。
那么整个文本将以每行组成的矩形为单位计算整个文本的尺寸。
NSStringDrawingUsesFontLeading一般用这两个。
计算行高时使用行距。(译者注:字体大小+行间距=行距)
NSStringDrawingUsesDeviceMetrics
计算布局时使用图元字形(而不是印刷字体)。

VI>删除字符串中的某个字符
   NSRangerange = [aString rangeOfString:@" "];
   while(range.location!= NSNotFound)
    {
        [aString deleteCharactersInRange:range];
        range = [aString rangeOfString:@" "];
    }
VII>替换字符串中的某些字符
string = [string stringByReplacingOccurrencesOfString:@" "withString:@""];
VIII>只获取一个字符串中的数字
-(NSString*)setString:(NSString*)str{
   NSString*str123 = @"0123456789";
   NSMutableString*multStr=[NSMutableStringstring];
   for(inti=0; i<str.length; i++) {
       NSString*strChar=[NSStringstringWithFormat:@"%c",[strcharacterAtIndex:i]];
       if([str123 rangeOfString:strChar].location!=NSNotFound) {
            [multStr appendString:strChar];
        }
    }
   returnmultStr;
IX> ASCII键盘码值转字符串
unicharcc=i;//cc为无符短整型 i 为int数字(可以查询AscII知道字符对应的值)。
//通过以下两种方式的一种转换成字符串来使用
NSString* info = [NSStringstringWithCharacters:&cclength:1];
   NSString* info = [NSString stringWithFormat:@"%c",cc];
X>除一个字符串两端的空格和换行
   NSString* string =@" fajdfkdkasf   “tap;
    string = [string stringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]];
XI>通过编码解决空格会出错
NSString*str=[@"http://192.168.1.132:8080/UpLoad/meinv2.jpg"stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
XII>字符串z转换为data数据
[@"“"dataUsingEncoding:NSUTF8StringEncoding];
XIII>汉字转拼音
//转换为C字符串
   CFStringRefcfString=(__bridgeCFStringRef)@"中华人民共和国ABC";
   //copy一下并改为可变的1nil即可,20为不限制长度,3CF字符串。
   CFMutableStringRefmutableString= CFStringCreateMutableCopy(nil,0, cfString);
   //汉字转拼音,1、可变CF字符串,20不限制范围,3、处理方式(汉字转拼音和,去掉声调)4、是否回转(转完之后再转回去)
   CFStringTransform(mutableString,0,kCFStringTransformMandarinLatin,NO);//汉字转拼音
   CFStringTransform(mutableString,0,kCFStringTransformStripDiacritics,NO);//去声调
//转化为ocNSString      
   NSString*str = (__bridgeNSString*)mutableString;
   CFRelease(mutableString);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值