示例#1
0
文件: Strings.cs 项目: kbacob/ik
        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);
        }
示例#2
0
文件: Strings.cs 项目: kbacob/ik
        /// <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);
        }
示例#3
0
文件: Strings.cs 项目: kbacob/ik
        /// <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);
        }