随笔 - 字符串常用方法总结

判断字符串是否为空

- (BOOL)isBlankOrNullString:(NSString *)string {

    if (string == nil || string == NULL) {

        return YES;

    }

    if ([string isKindOfClass:[NSNull class]]) {

        return YES;

    }

    //判断字符串为都为空格

    if ([[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length]==0) {

        return YES;

    }

    return NO;

}


根据字符串来计算Label的宽高

高度

- (float )heightWithString:(NSString *)string font:(UIFont *)font limitWidth:(float )limitWidth

{

    NSDictionary * dictory = [NSDictionary dictionaryWithObjectsAndKeys:font,NSFontAttributeName, nil];

    CGSize detSize = CGSizeMake(limitWidth, MAXFLOAT);

    CGRect rect = [string boundingRectWithSize:detSize options:NSStringDrawingUsesLineFragmentOrigin attributes:dictory context:nil];

    return rect.size.height;

}

宽度

- (float )widthWithString:(NSString *)string font:(UIFont *)font limitHeight:(float )limitHeight

{

    NSDictionary * dictory = [NSDictionary dictionaryWithObjectsAndKeys:font,NSFontAttributeName, nil];

    CGSize detSize = CGSizeMake(MAXFLOAT, limitHeight);

    CGRect rect = [string boundingRectWithSize:detSize options:NSStringDrawingUsesLineFragmentOrigin attributes:dictory context:nil];

    return rect.size.width;

}


拆分字符串

- (NSArray *)splitsTheString:(NSString *)string withSplitsString:(NSString *)splits

{

    NSArray * array = [string componentsSeparatedByString:splits];

    return array;

}


截取下标为index之前的字符串

- (NSString *)cutOutForeStringToIndex:(NSInteger )index cutString:(NSString *)cutString

{

    if (index > cutString.length) {

        return cutString;

    }

    if (index < 0 || index == 0) {

        return nil;

    }

    NSString * string = [cutString substringFromIndex:index];

    return string;

}

截取下标为index之后的字符串

- (NSString *)cutOutLaterStringFromIndex:(NSInteger )index cutString:(NSString *)cutString

{

    if (index > cutString.length) {

        return nil;

    }

    if (index < 0) {

        return cutString;

    }

    NSString * string = [cutString substringFromIndex:index];

    return string;

}


判断字符串是否包含

- (BOOL)estimateStringHasContainString:(NSString *)containString subString:(NSString *)subString

{

    if (containString.length > 0&& containString.length > subString.length) {

        NSRange range = [containString rangeOfString:subString];

        if (range.location != NSNotFound) {

            return YES;

        }

    }

    return NO;

}

//判断手机号码格式是否正确  http://blog.csdn.net/liu_esther/article/details/51578762

+ (BOOL)valiMobile:(NSString *)mobile

{

    mobile = [mobile stringByReplacingOccurrencesOfString:@" " withString:@""];

    if (mobile.length != 11)

    {

        return NO;

    }else{

        /**

         * 移动号段正则表达式

         */

        NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";

        /**

         * 联通号段正则表达式

         */

        NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$";

        /**

         * 电信号段正则表达式

         */

        NSString *CT_NUM = @"^((133)|(153)|(177)|(18[0,1,9]))\\d{8}$";

        NSPredicate *pred1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM_NUM];

        BOOL isMatch1 = [pred1 evaluateWithObject:mobile];

        NSPredicate *pred2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU_NUM];

        BOOL isMatch2 = [pred2 evaluateWithObject:mobile];

        NSPredicate *pred3 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT_NUM];

        BOOL isMatch3 = [pred3 evaluateWithObject:mobile];

        

        if (isMatch1 || isMatch2 || isMatch3) {

            return YES;

        }else{

            return NO;

        }

    }

}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值