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); }
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(); } }