Web- und Software Development

String nach Pascal- und CamelCase – C# Quicky

Written By: Mario Priebe - Okt• 25•09

Eine kleine HelperMethode in C#, die einen String entweder nach PascalCase (UpperCamelCase-Variante) oder camelCase (lowerCamelCase-Variante) konvertiert. Getrennt werden die Wörter des übergebenen Strings, bei einem Freizeichen, einem Bindestrich und bei einem Punkt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/// <summary>
/// Converts the phrase to specified convention.
/// </summary>
/// <param name="phrase"></param>
/// <param name="cases">The cases.</param>
/// <returns>string</returns>
static string ConvertCaseString(string phrase, Case cases)
{
    string[] splittedPhrase = phrase.Split(' ', '-', '.');
    var sb = new StringBuilder();
 
    if (cases == Case.CamelCase)
    {
        sb.Append(splittedPhrase[0].ToLower());
        splittedPhrase[0] = string.Empty;
    }
    else if (cases == Case.PascalCase)
        sb = new StringBuilder();
 
    foreach (String s in splittedPhrase)
    {
        char[] splittedPhraseChars = s.ToCharArray();
        if (splittedPhraseChars.Length > 0)
        {
            splittedPhraseChars[0] = ((new String(splittedPhraseChars[0], 1)).ToUpper().ToCharArray())[0];
        }
        sb.Append(new String(splittedPhraseChars));
    }
    return sb.ToString();
}

1
2
3
4
5
enum Case
{
    PascalCase,
    CamelCase
}

Aufruf:

1
2
3
string a = "background color-red.brown";
string camelCase = ConvertCaseString(a, Case.CamelCase);
string pascalCase = ConvertCaseString(a, Case.PascalCase);

Wer CamelCase oder PascalCase Strings nach “Title Case” konvertieren möchte, der sollte sich das Snippet von Jan Welker auf .Net-Snippets anschauen.

Viel Spaß beim entwickeln : )

Ähnliche Beiträge

You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.