/// <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); } }
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???"); } } }
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); }
/// <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; } }
/// <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); }