美文网首页
最大字符串匹配

最大字符串匹配

作者: 厨子 | 来源:发表于2018-03-27 17:10 被阅读20次

计算两个字符串的最大字符串匹配,对极端以及错误情况不作处理

首先选定一个字符串作为目标字符串,获取这个目标字符串的所有字符子集

比如 targetString = "abcd",则根据传入的不同 index 可以得到的字符子集为[abcd] 或 [abc,bcd] 或 [ab,bc,cd] 或 [a,b,c,d]

- (NSArray *)arrOfSubString:(NSString *)targetString index:(NSUInteger)index {
    
    NSMutableArray *arr_string = [NSMutableArray new];
    for (int i = 0; i <= targetString.length-index; i ++) {
        NSString * subString = [targetString substringWithRange:NSMakeRange(i, index)];
        [arr_string addObject:subString];
    }
    return arr_string;
}
然后遍历字符子集中的每个元素,与另外一个字符串做匹配
// 最大字符匹配
- (void)matchMaxLengthString:(NSString *)firstString sendString:(NSString *)secondString {
    
    BOOL isMatched = NO;
    NSString *resultString = @"";
    
    for (NSInteger i = secondString.length; i > 0; i--) {
        // 获取字符子集
        NSArray *arrString = [self arrOfSubString:secondString index:i];
        for (int j = 0 ; j < arrString.count; j ++) {
            // 用子集中的每一个元素与目标字符串进行匹配
            if ([firstString rangeOfString:arrString[j]].location != NSNotFound) {
                isMatched = YES;
                resultString = arrString[j];
                break;
            }
        }
        if (isMatched) {
            break;
        }
    }
    NSLog(@"result == %@",resultString);
}

相关文章

  • 中文分词的方法

    1、基于字符串匹配的方法 1.1 正向最大匹配分词算法1.2 逆向最大匹配分词算法1.3 双向最大匹配分词算法1....

  • 最大字符串匹配

    计算两个字符串的最大字符串匹配,对极端以及错误情况不作处理 首先选定一个字符串作为目标字符串,获取这个目标字符串的...

  • 大数据算法系列9:字符串匹配问题,海量字符串处理

    一. 字符串匹配 1.1 字符串匹配 字符串匹配:字符串匹配在实际工作中经常遇到,但是我们经常使用的是编程语言自带...

  • Python算法-字符串(String)

    字符串匹配问题字符串匹配(String Matching):又称为模式匹配(Pattern Matching)。可...

  • 正则表达式

    匹配位置: \b:单词的开头或者结束,单词的分界处^:匹配字符串的开始$:匹配字符串的结束 匹配字符 .:匹配除换...

  • iOS 字符串

    1、字符串的截取 2、匹配字符串 从字符串(sd是sfsfsAdfsdf)中查找(匹配)字符串(Ad) 3、字符串...

  • 字符串匹配

    indexOf 底层就是使用字符串匹配算法 字符串匹配算法很多 BF( Brute Force)算法 暴力匹配算...

  • 正则表达式

    基础语法 元字符^ 匹配行或者字符串的起始位置$ 匹配行或者字符串的结束位置\s 匹配空格\d 匹配数字\w 匹配...

  • iOS 字符串截取、iOS 字符串替换、iOS 字符串分隔、iO

    iOS之字符串截取、iOS 字符串替换、iOS字符串分隔、iOS之字符串匹配、截取字符串、匹配字符串、分隔字符串 ...

  • 字符串匹配之有限自动机

    字符串匹配的基本解决方案,是在长串中从头至尾遍历匹配模式串,直到找到完全匹配的位置,这样做一个最大的问题就是每次都...

网友评论

      本文标题:最大字符串匹配

      本文链接:https://www.haomeiwen.com/subject/qmescftx.html