【问题标题】:How can i find patterns in text? [duplicate]如何在文本中找到模式? [复制]
【发布时间】:2020-03-20 06:17:29
【问题描述】:

我的问题是我用于在单词中查找模式的代码逐个字母地查找“模式”。 (我的目标是使用我的代码在一个单词中查找整个模式,例如,对于单词“abcabcabc”和模式“abc”,我希望得到“3”的结果。)

这是我的代码

   case 2:{
            string text, pattern;
            int a, b;
            int counter = 0;
            cin >> text >> pattern;

            for (a = 0; a < text.size(); a++) {
                for (b = 0; b < pattern.size(); b++) {
                    if (text[a] == pattern[b])
                        counter++;
                }
            }
            cout << counter;
            break;
         }

【问题讨论】:

标签: c++


【解决方案1】:

有两种众所周知的通用算法:
Knuth–Morris–Pratt algorithm
Boyer–Moore

如果您需要更特别的东西,维基百科可能会帮助您找到开始的方向:
(字符串匹配算法)[https://en.wikipedia.org/wiki/Category:String_matching_algorithms]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 2013-02-09
    • 2021-04-13
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多