#pragma mark - 文本处理
+ (NSMutableAttributedString *)attributeStringWith:(NSMutableAttributedString *)attributeString andAttributes:(NSDictionary *)attribute
{
NSMutableArray *rangeArray = [NSMutableArray array];
for(NSInteger i=0; i < attributeString.length; i++)
{
NSRange range = NSMakeRange(i, 1);
NSString *str = [attributeString.string substringWithRange:range];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",@"^[0-9]"];
if([predicate evaluateWithObject:str])
{
[rangeArray addObject:[NSValue valueWithRange:range]];
}
}
// [rangeArray enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
// NSRange range = [(NSValue *)obj rangeValue];
// [attributeString addAttributes:attribute range:range];
// }];
[rangeArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSRange range = [(NSValue *)obj rangeValue];
[attributeString addAttributes:attribute range:range];
}];
return attributeString;
}
+ (NSMutableAttributedString *)attributeStringWith:(NSMutableAttributedString *)attributeString andAttributes:(NSDictionary *)attribute
{
NSMutableArray *rangeArray = [NSMutableArray array];
for(NSInteger i=0; i < attributeString.length; i++)
{
NSRange range = NSMakeRange(i, 1);
NSString *str = [attributeString.string substringWithRange:range];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",@"^[0-9]"];
if([predicate evaluateWithObject:str])
{
[rangeArray addObject:[NSValue valueWithRange:range]];
}
}
// [rangeArray enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
// NSRange range = [(NSValue *)obj rangeValue];
// [attributeString addAttributes:attribute range:range];
// }];
[rangeArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSRange range = [(NSValue *)obj rangeValue];
[attributeString addAttributes:attribute range:range];
}];
return attributeString;
}