Exemple #1
0
        /// <summary>转换文本格式</summary>
        /// <param name="text">要转换的文本</param>
        /// <param name="type">要转换的类型</param>
        /// <returns>返回转换后的字符串</returns>
        public static string ConvertTextCase_(this string text, TextCaseType type)
        {
            if (text.IsNullOrEmpty_())
            {
                return(string.Empty);
            }
            switch (type)
            {
            case TextCaseType.LowerCase:
                return(text.ToLowerInvariant());

            case TextCaseType.UpperCase:
                return(text.ToUpperInvariant());

            case TextCaseType.PascalCase:
                return(text.ToPascalCase_());

            case TextCaseType.CamelCase:
                return(text.ToCamelCase_());

            case TextCaseType.Hyphenate:
                return(text.ToHyphenate_());

            default:
                return(text);
            }
        }
Exemple #2
0
        private string ConvertTextCase(string value, TextCaseType targertCase)
        {
            switch (targertCase)
            {
            case TextCaseType.Upper:
            {
                return(value.ToUpper(CultureInfo.CurrentCulture));
            }

            case TextCaseType.Lower:
            {
                return(value.ToLower(CultureInfo.CurrentCulture));
            }

            case TextCaseType.Capital:
            {
                // TextInfo.ToTitleCase ignores words with all capital chars
                var lower = value.ToLower(CultureInfo.CurrentCulture);
                return(textInfo.ToTitleCase(lower));
            }

            default:
            {
                throw new ArgumentOutOfRangeException(nameof(targertCase), targertCase, @"WTF is the text case???");
            }
            }
        }
Exemple #3
0
        public void TextCaseConverterWithExplicitType(object?value, TextCaseType textCaseType, object?expectedResult)
        {
            var textCaseConverter = new TextCaseConverter
            {
                Type = textCaseType
            };

            var result = textCaseConverter.Convert(value, typeof(string), null, CultureInfo.CurrentCulture);

            Assert.AreEqual(result, expectedResult);
        }
Exemple #4
0
 /// <summary>转换文本格式</summary>
 /// <param name="text">要转换的文本</param>
 /// <param name="type">要转换的类型</param>
 /// <returns>返回转换后的字符串</returns>
 public static string ConvertTextCase_(this string text, TextCaseType type)
 {
     if(text.IsNullOrEmpty_()) return string.Empty;
     switch(type)
     {
         case TextCaseType.LowerCase:
             return text.ToLowerInvariant();
         case TextCaseType.UpperCase:
             return text.ToUpperInvariant();
         case TextCaseType.PascalCase:
             return text.ToPascalCase_();
         case TextCaseType.CamelCase:
             return text.ToCamelCase_();
         case TextCaseType.Hyphenate:
             return text.ToHyphenate_();
         default:
             return text;
     }
 }
Exemple #5
0
        /// <summary>
        /// Extracts Luis Entities from user input and converts them to string.
        /// </summary>
        /// <param name="entityToExtract">Mandatory. The name of the Entity to extract.</param>
        /// <param name="entities">Mandatory. List of Luis Entities from user input</param>
        /// <param name="TextCaseType">Optional. String output casing. E.g. "TitleCase", "Uppercase"</param>
        public string ExtractEntityFromMessage(string entityToExtract, IList <EntityRecommendation> entities, TextCaseType TextCaseType = TextCaseType.TitleCase)
        {
            foreach (var entity in entities.Where(e => e.Type == entityToExtract))
            {
                string entityResult = entity.Entity;
                string entityString;

                TextInfo cultureInfo = new CultureInfo("en-US", false).TextInfo;

                switch (TextCaseType)
                {
                case TextCaseType.UpperCase:
                    entityString = cultureInfo.ToUpper(entityResult);
                    break;

                case TextCaseType.LowerCase:
                    entityString = cultureInfo.ToTitleCase(entityResult);
                    break;

                default:
                    entityString = cultureInfo.ToTitleCase(entityResult);
                    break;
                }

                return(entityString);
            }

            return(null);
        }