Преобразование между случаем Паскаля, верблюжьим футляром и правильным случаем метод 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);
}
