Преобразование между корпусом Паскаля, верблюжьим футляром и правильным корпусом в C#

В этом примере используются методы расширения строк для преобразования строк между корпусом Pascal, верблюжьим футляром и правильным случаем.

В случае Pascal каждое слово заглавное, как в ThisStringIsPascalCased. В случае с верблюдом каждое слово, кроме первого, капитализируется как в thisStringIsCamelCased. В правильном случае каждое слово капитализируется и разделяется пробелами, как в этой строке. Собственная оболочка.

В следующем коде показан способ расширения строки ToPascalCase.

// Преобразуем строку в паскаль.
public static string ToPascalCase(this string the_string)
{
    // Если есть 0 или 1 символ, просто верните строку.
    if (the_string == null) return the_string;
    if (the_string.Length < 2) return the_string.ToUpper();

    // Разделим строку на слова.
    string[] words = the_string.Split(
        new char[] { },
        StringSplitOptions.RemoveEmptyEntries);

    // Объединим слова.
    string result = "";
    foreach (string word in words)
    {
        result +=
            word.Substring(0, 1).ToUpper() +
            word.Substring(1);
    }

    return result;
}

Этот метод разбивает строку на слова, разделенные пробелами. Затем он перебирает слова, используя их и объединяя их.

В следующем коде показан способ расширения строки ToCamelCase.

// Преобразуем строку в случай верблюда.
public static string ToCamelCase(this string the_string)
{
    // Если есть 0 или 1 символ, просто верните строку.
    if (the_string == null || the_string.Length < 2)
        return the_string;

    // Разделим строку на слова.
    string[] words = the_string.Split(
        new char[] { },
        StringSplitOptions.RemoveEmptyEntries);

    // Объединим слова.
    string result = words[0].ToLower();
    for (int i = 1; i < words.Length; i++)
    {
        result +=
            words[i].Substring(0, 1).ToUpper() +
            words[i].Substring(1);
    }

    return result;
}

Метод расширения ToCamelCase аналогичен методу ToPascalCase, за исключением того, что он не использует значение первого слова.

В следующем коде показан способ расширения ToProperCase.

// Заглавные буквы первого символа и добавьте пробел перед
// каждая заглавная буква (кроме первого символа).
public static string ToProperCase(this string the_string)
{
    // Если есть 0 или 1 символ, просто верните строку.
    if (the_string == null) return the_string;
    if (the_string.Length < 2) return the_string.ToUpper();

    // Начнем с первого символа.
    string result = the_string.Substring(0, 1).ToUpper();

    // Добавьте оставшиеся символы.
    for (int i = 1; i < the_string.Length; i++)
    {
        if (char.IsUpper(the_string[i])) result += " ";
        result += the_string[i];
    }

    return result;
}

ToProperCase пересекает символы в строке и вставляет пробел перед каждой заглавной буквой. Обратите внимание, как он использует char.IsUpper, чтобы определить, является ли символ верхним.

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

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