随笔 - 字符串常用方法总结
来源:互联网 发布:atheros无线网卡 linux 编辑:程序博客网 时间:2024/06/06 09:31
判断字符串是否为空
- (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;
}
}
}
- 随笔 - 字符串常用方法总结
- python 字符串常用方法总结
- java字符串常用方法总结
- ios字符串常用方法总结
- JS字符串常用方法总结
- C++字符串常用方法总结
- js字符串常用方法总结
- javaScript 字符串常用方法总结
- String字符串常用方法总结
- 字符串的常用方法总结
- Python常用方法随笔
- 总结-处理字符串常用方法类
- Java中常用字符串方法总结
- Java中常用字符串方法总结
- JS常用字符串处理方法总结
- C#中字符串常用方法总结
- 字符串的一些常用方法总结
- Java中常用字符串方法总结
- CherryPy: 一个极简主义Python Web框架
- Centos系统中查看文件和文件夹大小
- TP-Link wr886n 路由器插上光纤后网速变慢问题
- 贝叶斯决策理论
- Android屏幕适配
- 随笔 - 字符串常用方法总结
- C/C++调用约定
- 解决IE浏览器,img的src加载图片问题
- 警告@SuppressWarnings("serial")与对象序列化(Java IO)
- PHP中的ArrayAccess用法
- 你所不知道的Activity转场动画——ActivityOptions
- pip安装python包报错的有效解决方法
- js中的逻辑与(&&)和逻辑或(||)问题
- AngularJS学习笔记之directive——scope选项与绑定策略(*******)