在实际项目开发过程中,发现字符串使用频率还是非常高的,NSString提供了很多相关的API,但是在开发过程中发现很多业务功能都是相同的。因此根据在开发过程中遇到的字符串使用场景,进行了简单封装。具体代码如下:
NSString+Category.h 代码:
//
// NSString+Category.h
// myApplication
//
// Created by xujinzhong on 2018/3/13.
// Copyright © 2018年 xujinzhong. All rights reserved.
//
#import
@interface NSString (Category)
(BOOL)isBlank;
(BOOL)isValid;
(NSString *)removeWhiteSpacesFromString;
(NSUInteger)countNumberOfWords;
(BOOL)containsString:(NSString *)subString;
(BOOL)isBeginsWith:(NSString *)string;
(BOOL)isEndssWith:(NSString *)string;
(NSString *)replaceCharcter:(NSString *)olderChar withCharcter:(NSString *)newerChar;
(NSString*)getSubstringFrom:(NSInteger)begin to:(NSInteger)end;
(NSString *)addString:(NSString *)string;
(NSString *)removeSubString:(NSString *)subString;
(BOOL)containsOnlyLetters;
(BOOL)containsOnlyNumbers;
(BOOL)containsOnlyNumbersAndLetters;
(BOOL)isInThisarray:(NSArray*)array;
(NSString *)getStringFromArray:(NSArray *)array;
(NSArray *)getArray;
(NSString *)getMyApplicationVersion;
(NSString *)getMyApplicationName;
(NSData *)convertToData;
(NSString *)getStringFromData:(NSData *)data;
(BOOL)isValidEmail;
(BOOL)isVAlidPhoneNumber;
(BOOL)isValidUrl;
NSString+Category.m 代码:
//
// NSString+Category.m
// myApplication
//
// Created by xujinzhong on 2018/3/13.
// Copyright © 2018年 xujinzhong. All rights reserved.
//
#import "NSString+Category.h"
@implementation NSString (Category)
//字符串是否为空
-(BOOL)isBlank
{
return ([[self removeWhiteSpacesFromString] isEqualToString:@""]) ? YES : NO;
}
//字符串为空或nil
-(BOOL)isValid
{
return ([[self removeWhiteSpacesFromString] isEqualToString:@""] || self == nil || [self isEqualToString:@"(null)"]) ? NO :YES;
}
//在字符串中删除空格
//字符串中包含单词数
(NSUInteger)countNumberOfWords
{
NSScanner *scanner = [NSScanner scannerWithString:self];
NSCharacterSet *whiteSpace = [NSCharacterSet whitespaceAndNewlineCharacterSet];
NSUInteger count = ;
while ([scanner scanUpToCharactersFromSet: whiteSpace intoString: nil]) {
count++;
}
return count;
}
// 字符串中是否包含子字符串
// 字符串从给定的字符串开始
// 字符串以给定的字符串结束
// 用新字符替换字符串中的特定字符
// 从特定的位置获取子字符串,以使其正确
// 将子字符串添加到主字符串
(NSString *)addString:(NSString *)string
{
if(!string || string.length == )
return self;
return [self stringByAppendingString:string];
}
// 从字符串中删除指定字符串
-(NSString *)removeSubString:(NSString *)subString
{
if ([self containsString:subString])
{
NSRange range = [self rangeOfString:subString];
return [self stringByReplacingCharactersInRange:range withString:@""];
}
return self;
}
// 字符串只包含字母
// 字符串只包含数字
// 字符串中包含数字和字母
// 字符串包含在数组中
// 数组转换为字符串
// 字符串转换为数组
// 获取应用程序版本
// 获取应用程序名称
// 字符串转换为NSData
// NSData转换为字符串
// 是否为邮件格式
// 是否为电话格式
// 是否为URL格式
手机扫一扫
移动阅读更方便
你可能感兴趣的文章