private static void DoSearch(IStringSearch stringSearch, string pat, string text)
        {
            StdOut.Println("text:    " + text);
            int offset = stringSearch.Search(text);

            StdOut.Print("pattern: ");
            for (int i = 0; i < offset; i++)
            {
                StdOut.Print(" ");
            }
            StdOut.Println(pat);
        }
        private static IStringSearch GenerateSearch(StringSearchType type, string pat)
        {
            IStringSearch search = type switch
            {
                StringSearchType.KMP => new KMP(pat),
                StringSearchType.BoyerMoore => new BoyerMoore(pat),
                StringSearchType.Robin => new RabinKarp(pat),
                _ => null,
            };

            return(search);
        }
        private static void StringSearch()
        {
            string        pat  = "AACAA";
            string        text = "AABRAACADABRAACAADABRA";
            IStringSearch kmp  = GenerateSearch(StringSearchType.KMP, pat);

            DoSearch(kmp, pat, text);
            IStringSearch boyer = GenerateSearch(StringSearchType.BoyerMoore, pat);

            DoSearch(boyer, pat, text);
            IStringSearch rabin = GenerateSearch(StringSearchType.Robin, pat);

            DoSearch(rabin, pat, text);
        }
Esempio n. 4
0
        LogFilter()
        {
            _logTypeConfigs[LogType.Log]     = PlayerPrefs.GetInt(GetLogTypePlayerPrefsKey(LogType.Log), 1) == 1 ? true : false;
            _logTypeConfigs[LogType.Warning] = PlayerPrefs.GetInt(GetLogTypePlayerPrefsKey(LogType.Warning), 1) == 1 ? true : false;
            _logTypeConfigs[LogType.Error]   = PlayerPrefs.GetInt(GetLogTypePlayerPrefsKey(LogType.Error), 1) == 1 ? true : false;
            _isCollapse = PlayerPrefs.GetInt(Key_IsCollapse, 0) == 1 ? true : false;

            if (LogConsoleSettings.Instance.useRegexSearch)
            {
                _stringSearch = new RegexSearch(LogConsoleSettings.Instance.regexSearchOptions);
            }
            else
            {
                _stringSearch = new SimpleStringSearch();
            }
        }