Подтвердить что ты не робот

Как сделать первый капитал письма в С#

Как первая буква в тексте может быть установлена ​​в капитал?

Пример:

it is a text.  = It is a text.
4b9b3361

Ответ 1

public static string ToUpperFirstLetter(this string source)
{
    if (string.IsNullOrEmpty(source))
        return string.Empty;
    // convert to char array of the string
    char[] letters = source.ToCharArray();
    // upper case the first char
    letters[0] = char.ToUpper(letters[0]);
    // return the array made of the new char array
    return new string(letters);
}

Ответ 2

Это будет примерно так:

// precondition: before must not be an empty string

String after = before.Substring(0, 1).ToUpper() + before.Substring(1);

Ответ 3

Ответ на полигенные смазки в большинстве случаев хорош, но вам, возможно, нужно подумать о культурных проблемах. Вы хотите, чтобы это капитализировалось культурно-инвариантным способом, в современной культуре или определенной культуре? Например, это может иметь большое значение в Турции. Поэтому вы можете подумать:

CultureInfo culture = ...;
text = char.ToUpper(text[0], culture) + text.Substring(1);

или если вы предпочитаете методы на String:

CultureInfo culture = ...;
text = text.Substring(0, 1).ToUpper(culture) + text.Substring(1);

где culture может быть CultureInfo.InvariantCulture, или текущая культура и т.д.

Подробнее об этой проблеме см. в тесте Turkey.

Ответ 4

Если вы используете С#, попробуйте этот код:

Microsoft.VisualBasic.StrConv(sourceString, Microsoft.VisualBasic.vbProperCase)

Ответ 5

Я понимаю, что это старый пост, но я недавно столкнулся с этой проблемой и решил ее с помощью следующего метода.

    private string capSentences(string str)
    {
        string s = "";

        if (str[str.Length - 1] == '.')
            str = str.Remove(str.Length - 1, 1);

        char[] delim = { '.' };

        string[] tokens = str.Split(delim);

        for (int i = 0; i < tokens.Length; i++)
        {
            tokens[i] = tokens[i].Trim();

            tokens[i] = char.ToUpper(tokens[i][0]) + tokens[i].Substring(1);

            s += tokens[i] + ". ";
        } 

        return s;
    }

В приведенном ниже примере нажатие на кнопку выполняет этот простой код outBox.Text = capSentences(inBox.Text.Trim());, который вытягивает текст из верхнего поля и помещает его в нижнее поле после того, как указанный выше метод запускается на нем.

Sample Program

Ответ 6

Я использую этот вариант:

 private string FirstLetterCapital(string str)
        {
            return Char.ToUpper(str[0]) + str.Remove(0, 1);            
        }

Ответ 7

text = new String(
    new [] { char.ToUpper(text.First()) }
    .Concat(text.Skip(1))
    .ToArray()
);

Ответ 8

static String UppercaseWords (String BadName)       {           String FullName = "";

        if (BadName != null)
        {
            String[] FullBadName = BadName.Split(' ');
            foreach (string Name in FullBadName)
            {
                String SmallName = "";
                if (Name.Length > 1)
                {
                    SmallName = char.ToUpper(Name[0]) + Name.Substring(1).ToLower();
                }
                else
                {
                    SmallName = Name.ToUpper();
                }
                FullName = FullName + " " + SmallName;
            }

        }
        FullName = FullName.Trim();
        FullName = FullName.TrimEnd();
        FullName = FullName.TrimStart();
        return FullName;
    }

Ответ 9

эти функции делают капитал первой буквой всех слов в строке

public static string FormatSentence(string source)
    {
        var words = source.Split(' ').Select(t => t.ToCharArray()).ToList();
        words.ForEach(t =>
        {
            for (int i = 0; i < t.Length; i++)
            {
                t[i] = i.Equals(0) ? char.ToUpper(t[i]) : char.ToLower(t[i]);
            }
        });
        return string.Join(" ", words.Select(t => new string(t)));;
    }

Ответ 10

Попробуйте этот фрагмент кода:

char nm[] = "this is a test";

if(char.IsLower(nm[0]))  nm[0] = char.ToUpper(nm[0]);

//print result: This is a test