public static bool Contains(string strForCheck, string[] strPattern, EqualAnalysisType equalAnalysisType = EqualAnalysisType.Strong) { if (strForCheck == null || strPattern == null || strPattern.Length < 1) { throw new ArgumentNullException(); } if (equalAnalysisType == EqualAnalysisType.Equal) { throw new ArgumentException(); } foreach (var strTmp in strPattern) { if (Contains(strForCheck, strTmp, equalAnalysisType) == true) { return(true); } } return(false); }
/// <summary> /// Проверить наличие подстроки, маски, или Regex-выражения в указанной строке. /// </summary> /// <param name="strForCheck">Строка, которую нужно проверять</param> /// <param name="strPattern">Подстрока, маска или regex-выражение, которые нужно искать</param> /// <param name="equalAnalysisType">Способ поиска подстроки</param> /// <returns>true, если указанная подстрока (или маска) присутствует</returns> public static bool Contains(string strForCheck, string strPattern, EqualAnalysisType equalAnalysisType = EqualAnalysisType.Strong) { if (strForCheck == null || strPattern == null) { throw new ArgumentNullException(); } switch (equalAnalysisType) { case EqualAnalysisType.Strong: return(ContainsByStrong(strForCheck, strPattern)); case EqualAnalysisType.WildMask: return(ContainsByWildmask(strForCheck, strPattern)); case EqualAnalysisType.Regex: return(ContainsByRegex(strForCheck, strPattern)); case EqualAnalysisType.Equal: return(ContainsByEqual(strForCheck, strPattern)); } return(false); }
/// <summary> /// Заменить часть (или части) исходной строки, совпадающую с подстрокой, wildcard-маской или regex-выражением на указанную подстроку /// </summary> /// <param name="strOriginal">Исходная строка</param> /// <param name="strPattern">Подстрока, маска или regex-выражение, которые нужно искать</param> /// <param name="strNew">Новое значение</param> /// <param name="equalAnalysisType">Способ поиска подстроки</param> /// <returns>Новая строка с совершенными заменами, или исходная если подстроки для замены не были найдены</returns> public static string Replace(string strOriginal, string strPattern, string strNew = "", EqualAnalysisType equalAnalysisType = EqualAnalysisType.Strong) { if (strOriginal == null || strPattern == null || strPattern == null) { throw new ArgumentNullException(); } switch (equalAnalysisType) { case EqualAnalysisType.Strong: case EqualAnalysisType.Equal: return(ReplaceByStrong(strOriginal, strPattern, strNew)); case EqualAnalysisType.WildMask: return(ReplaceByWildmask(strOriginal, strPattern, strNew)); case EqualAnalysisType.Regex: return(ReplaceByRegex(strOriginal, strPattern, strNew)); } return(null); }