C # String Manipulation: от "TABLE_NAME" до "TableName" - PullRequest
5 голосов
/ 23 января 2012

Лучший способ сделать это?

Пробовал такие вещи:

public String FormatColumnName(String columnName)
{
    String formatedColumnName = columnName.Replace('_', ' ').Trim();
    StringBuilder result = new StringBuilder(formatedColumnName);
    result[0] = char.ToUpper(result[0]);
    return result.ToString();
}

У меня не сработало, может быть, кто-нибудь может дать мне чистое Решение о том, как я могу это сделать.

Ответы [ 3 ]

5 голосов
/ 23 января 2012

String.Concat(columnName.Split('_').Select(s => s[0] + s.Substring(1).ToLower()))

5 голосов
/ 23 января 2012

Как насчет:

string result = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(
       columnName.Replace('_', ' ').Trim().ToLower()).Replace(" ","");

ToTitleCase заменяет «слова в нижнем регистре» на «Слова в нижнем регистре» (но не касается верхнего регистра), следовательно, нам необходимо ToLower - тогда мыудалите пробелы с помощью Replace.

2 голосов
/ 23 января 2012
string str = "TABLE_NAME";

string str2 = string.Join("", str.Split('_').Select(p => char.ToUpper(p[0]) + p.Substring(1).ToLower()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...