本文共 1012 字,大约阅读时间需要 3 分钟。
Objective-C实现abbreviation缩写算法
以下是Objective-C实现的缩写算法的完整源代码:
@interface Abbreviation : NSObject
{// 简化逻辑核心实现// 1. 定义缩写数组static NSArray *abbreviations = nil;
// 如果abbreviations未初始化if (!abbreviations) { abbreviations = @[ @"NSApp", // 其他常用缩写项可以依次添加 ];}// 2. 定义停止字符集合static NSString *const stoppingCharacters = @".,!/";// 3. 遍历字符串并收集字符NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:inputString];// 4. 遍历每个字符for (NSInteger i = 0; i < str.length; i++) { unichar ch = [str characterAtIndex:i]; // 判断是否是停止字符 if ([ch == [stoppingCharacters characterAtIndex:0] || ch == [stoppingCharacters characterAtIndex:1] || ch == [stoppingCharacters characterAtIndex:2]]) { // 遇到停止字符,截断当前单词 NSString *abbreviatedWord = [str substringFromStartToIndex:i]; [str replaceCharactersInRange:NSMakeRange(0, i) withString:abbreviatedWord]; break; }}// 5. 获取最终简化结果return [str string]; }
@end
转载地址:http://ofnfk.baihongyu.com/