Преобразование между случаем Паскаля, верблюжьим футляром и правильным случаем метод 2 в C#
Как и предыдущий пост, Преобразование между случаем Pascal, верблюжьим футляром и правильным случаем в C# , в этом примере показано, как использовать методы расширения строк для преобразования строк в различные типы case. Спасибо Гэри Винки за эту версию.
Следующий метод расширения ToPascalCase заглавывает первую букву в каждом из слов строки.
// Преобразуем строку в паскаль. public static string ToPascalCase(this string the_string) { TextInfo info = Thread.CurrentThread.CurrentCulture.TextInfo; the_string = info.ToTitleCase(the_string); string[] parts = the_string.Split(new char[] {}, StringSplitOptions.RemoveEmptyEntries); string result = String.Join(String.Empty, parts); return result; }
В этом коде используется метод ToTitleCase объекта TextInfo объекта, чтобы преобразовать строку в заголовок, который заглавывает первую букву в каждом из своих слов. Затем он разбивает строку на слова и объединяет их с помощью Join, чтобы получить окончательный результат в случае Pascal.
Следующий метод ToCamelCase заглавывает первую букву в каждом слове, кроме первого слова.
// Преобразуем строку в случай верблюда. public static string ToCamelCase(this string the_string) { the_string = the_string.ToPascalCase(); return the_string.Substring(0, 1).ToLower() + the_string.Substring(1); }
Этот код просто вызывает ToPascalCase, а затем преобразует первую букву в нижний регистр.
Следующий метод ToProperCase разбивает строку case Pascal или строку верблюда на слова и выполняет капитализацию каждого из них.
// Заглавные буквы первого символа и добавьте пробел перед // каждая заглавная буква (кроме первого символа). public static string ToProperCase(this string the_string) { const string pattern = @"(?<=\w)(?=[A-Z])"; // const string pattern = @ "(? & lt; = [^ A-Z]) (? = [A-Z])"; string result = Regex.Replace(the_string, pattern, " ", RegexOptions.None); return result.Substring(0, 1).ToUpper() + result.Substring(1); }