如何在C#中创建首字母大写

时间:2010-08-13 05:55:54

标签: c#

如何将文本中的第一个字母设置为大写?

示例:

it is a text.  = It is a text.

12 个答案:

答案 0 :(得分:40)

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);
}

答案 1 :(得分:36)

这将是这样的:

// precondition: before must not be an empty string

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

答案 2 :(得分:18)

对于大多数情况,polygenelubricants的回答很好,但您可能需要考虑文化问题。您是否希望在当前文化或特定文化中以文化不变的方式利用它?例如,它可以在土耳其产生重大影响。所以你可能要考虑:

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 Test

答案 3 :(得分:4)

如果您使用的是C#,请尝试以下代码:

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

答案 4 :(得分:2)

我使用这个变种:

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

答案 5 :(得分:1)

我意识到这是一个老帖子,但我最近遇到了这个问题,并用以下方法解决了这个问题。

    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 :(得分:0)

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

答案 7 :(得分:0)

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;
    }

答案 8 :(得分:0)

这个函数使大写字母成为字符串中所有单词的第一个字母

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)));;
    }

答案 9 :(得分:0)

从单词中取出第一个字母,然后将其提取到另一个字符串中。

strFirstLetter = strWord.Substring(0, 1).ToUpper();
strFullWord = strFirstLetter + strWord.Substring(1);

答案 10 :(得分:-1)

试试这段代码:

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

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

//print result: This is a test

答案 11 :(得分:-1)


clf = SVC(kernel='rbf', gamma=0.001, C=10, decision_function_shape='ovo')

//首先使用.Trim()方法消除示例开头和结尾的所有不必要空间(“此字符串“ .Trim()将输出”此字符串“)。

string str = "it is a text";

str = str.Trim(); //此行将在索引0处获取字符串的第一个字母。

char theFirstLetter = str[0]; // .ToTupper()方法将首字母大写。

theFirstLetter.ToUpper(); //我们使用大写字母添加第一个字母,然后使用str.substring(1)(str.substring(1)跳过索引0处的第一个字母,并添加其余字符串)仅打印从索引1到最后一个索引的字母。) str = theFirstLetter + str.substring(1); //现在应该输出“ It is a text”