NSString

转数组

NSMutableArray *array = [NSMutableArray array];
    for (int i = 0; i < [string length]; i++) {
        [array addObject:[NSString stringWithFormat:@"%C", [string characterAtIndex:i]]];
    }

去空格

NSString *strUrl = [urlString stringByReplacingOccurrencesOfString:@" " withString:@""]

NSString *string = @"object-c2016";
1.截取字符串

newString =[string substringWithRange:NSMakeRange(2,5)];

//表示从下标的第二位开始截取5位字符,注意这里第二位是从0开始数的,即从 j 开始截取,结果为 ject-

NSString  *newString =[str substringFromIndex:str.length-6];

    NSString *testsubstringToorFromIndex = @"test1234";
        NSString *fromIndexstring = [testsubstringToorFromIndex substringFromIndex:2];
       
        NSString *toIndexstring = [testsubstringToorFromIndex substringToIndex:2];
        NSLog(@"subtringfromindex is %@",fromIndexstring);
        NSLog(@"subtringToindex is %@",toIndexstring);

输出结果

2014-11-29 06:23:59.634 sdktest[587:11024] subtringfromindex is st1234

2014-11-29 06:23:59.634 sdktest[587:11024] subtringToindex is te

//截取后6位
2.分割字符串
newString = [string componentsSeparatedByString:@"-"];
3.判断是否存在某字符串
if([string rangeOfString:@"object"].location !=NSNotFound)

{

}

4.替换字符

[string stringByReplacingOccurrencesOfString:@"c" withString:@"哈哈"];//“哈哈”替换掉“c”

(持续更新中。。。)

5.如果在一个NSString中使用引号,需要采用下面的方法:
[objc] view plain copy

    NSString * testStr = @"你好,"你好"";  
    NSLog(@"%@",testStr);  

//输出结果为:你好,"你好"
6. 判断是否含有表情

 - (BOOL)stringContainsEmoji:(NSString *)string

 {

         __block BOOL returnValue = NO;

    

         [string enumerateSubstringsInRange:NSMakeRange(0, [string length])

                                           options:NSStringEnumerationByComposedCharacterSequences

                                        usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {

                                               const unichar hs = [substring characterAtIndex:0];

                                               if (0xd800 <= hs && hs <= 0xdbff) {

                                                        if (substring.length > 1) {

                                                                const unichar ls = [substring characterAtIndex:1];

                                                                const int uc = ((hs - 0xd800) * 0x400) + (ls - 0xdc00) + 0x10000;

                                                                if (0x1d000 <= uc && uc <= 0x1f77f) {

                                                                        returnValue = YES;

                                                                   }

                                                           }

                                                   } else if (substring.length > 1) {

                                                            const unichar ls = [substring characterAtIndex:1];

                                                            if (ls == 0x20e3) {

                                                                    returnValue = YES;

                                                                }

                                                        } else {

                                                                if (0x2100 <= hs && hs <= 0x27ff) {

                                                                        returnValue = YES;

                                                                   } else if (0x2B05 <= hs && hs <= 0x2b07) {

                                                                        returnValue = YES;

                                                                       } else if (0x2934 <= hs && hs <= 0x2935) {

                                                                            returnValue = YES;

                                                                          } else if (0x3297 <= hs && hs <= 0x3299) {

                                                                                   returnValue = YES;

                                                                                } else if (hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030 || hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b || hs == 0x2b50) {

                                                                                        returnValue = YES;

                                                                                    }

                                                            }

                                            }];

    

         return returnValue;

     }

计算字符串长度

//获取字符串的宽度

-(float) widthForString:(NSString *)value fontSize:(float)fontSize andHeight:(float)height

{

    CGSize sizeToFit = [value sizeWithFont:[UIFont systemFontOfSize:fontSize] constrainedToSize:CGSizeMake(CGFLOAT_MAX, height) lineBreakMode:NSLineBreakByWordWrapping];//此处的换行类型(lineBreakMode)可根据自己的实际情况进行设置

    return sizeToFit.width;

}‘

修改字符颜色

1、

 NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"关闭 不允许任何人私信我"];
            //更改字体
            [string addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"PingFangSC-Regular" size:12] range:NSMakeRange(2, string.length-2)];
            //修改颜色
            [string addAttribute:NSForegroundColorAttributeName value:Black_35 range:NSMakeRange(2, string.length-2)];

            cell.nameLabel.attributedText = string;

2、

- (NSMutableAttributedString *)adjustTextColor:(NSString *)text rangeText:(NSString *)rangeText color:(UIColor *)color {

    NSRange range = [text rangeOfString:rangeText];

    NSMutableAttributedString *attribute = [[NSMutableAttributedString alloc] initWithString:text];

    // 设置NSFontAttributeName属性修改字体大小

    [attribute addAttributes:@{NSForegroundColorAttributeName:color} range:range];

    return attribute;

}

 NSMutableAttributedString *aString;
    NSString *integralStr = @"10";
    NSString *archStr = @"100";

    aString = [[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:@"今日已成功抢单%@次,累计收款%@元",integralStr,archStr]];
    [aString addAttribute:NSForegroundColorAttributeName value:[UIColor redColor]  range:NSMakeRange(7, integralStr.length)];
    [aString addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange( aString.length-1-archStr.length, archStr.length)];
    _tipLabel.attributedText = aString;


NSString \*contentStr =@"谢谢你看我的文章"; NSMutableAttributedString *str = [[NSMutableAttributedString alloc]initWithString:contentStr]; //设置:在3~length-3个单位长度内的内容显示成橙色 [str addAttribute:NSForegroundColorAttributeName value:[UIColor orangeColor] range:NSMakeRange(3, str.length-3)]; lable.attributedText=str;

label.attributedText
- (NSMutableAttributedString *)adjustTextColor:(NSString *)text rangeText:(NSString *)rangeText color:(UIColor *)color {
   
    NSRange range = [text rangeOfString:rangeText];
   
    NSMutableAttributedString *attribute = [[NSMutableAttributedString alloc] initWithString:text];
   
    // 设置NSFontAttributeName属性修改字体大小
   
    [attribute addAttributes:@{NSForegroundColorAttributeName:color} range:range];
   
    return attribute;
   
}

    问题描述
    使用NSMutableAttributedString设置不同字体,

int a = 50; int b = 10; NSMutableAttributedString *attStr = [[NSMutableAttributedString alloc] initWithString:@"10元抵现券"]; [attStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:a] range:NSMakeRange(0, 2)]; [attStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:b] range:NSMakeRange(2, attStr.length - 2)]; // [attStr addAttribute:NSBaselineOffsetAttributeName value:@(0.36 * (a - b)) range:NSMakeRange(2, attStr.length - 2)]; label.attributedText = attStr;

文字不能居中对齐

    解决方法
    NSMutableAttributedString 添加NSBaselineOffsetAttributeName这个Attribute

[attStr addAttribute:NSBaselineOffsetAttributeName value:@(0.36 * (a - b)) range:NSMakeRange(2, attStr.length - 2)];

value = 0.36 * (大字号 - 小字号)

int a = 50; int b = 10; NSMutableAttributedString *attStr = [[NSMutableAttributedString alloc] initWithString:@"10元抵现券"]; [attStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:a] range:NSMakeRange(0, 2)]; [attStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:b] range:NSMakeRange(2, attStr.length - 2)]; [attStr addAttribute:NSBaselineOffsetAttributeName value:@(0.36 * (a - b)) range:NSMakeRange(2, attStr.length - 2)]; label.attributedText = attStr;

保留小数点


-(NSString *)notRounding:(float)price afterPoint:(int)position{
 
    NSDecimalNumberHandler* roundingBehavior = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundDown scale:position raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:NO];
 
    NSDecimalNumber *ouncesDecimal;
 
    NSDecimalNumber *roundedOunces;
 
   
 
    ouncesDecimal = [[NSDecimalNumber alloc] initWithFloat:price];
 
    roundedOunces = [ouncesDecimal decimalNumberByRoundingAccordingToBehavior:roundingBehavior];
 
    [ouncesDecimal release];
 
    return [NSString stringWithFormat:@"%@",roundedOunces];
 
}
 
介绍一下参数:
 
price:需要处理的数字,
 
position:保留小数点第几位,
 
然后调用
 
 
 
    float s =0.126;
 
    NSString *sv = [self notRounding:s afterPoint:2];

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值