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

Источник: http://csharphelper.com/blog/2014/10/convert-between-pascal-case-camel-case-and-proper-case-method-2-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector