仅限字符串的第一个字母

时间:2016-02-22 09:19:50

标签: c# asp.net string

我已经看过像这样的帖子:

Format to first letter uppercase
How to capitalise the first letter of every word in a string

但这些似乎都不起作用。我想从一开始就会有一个:

.Capitalize();

就像有:

.Lower(); & .Upper();

任何人都可以向我提供有关转换为字符串的任何文档或参考资料:

string before = "INVOICE";

然后成为:

string after = "Invoice";

我使用我阅读的帖子解决方案给我的方式没有收到任何错误,但是before仍然是大写的。

2 个答案:

答案 0 :(得分:7)

如何在第一个字符上使用ToUpper,在剩余字符串上使用ToLower呢?

string after = char.ToUpper(before.First()) + before.Substring(1).ToLower();

答案 1 :(得分:3)

您可以创建一个类似这样的方法:

string UppercaseFirst(string str)
{
    if (string.IsNullOrEmpty(str))
        return string.Empty;
    return char.ToUpper(str[0]) + str.Substring(1).ToLower();
}

并像这样使用它:

string str = "thISstringLOokSHorribLE";
string upstr = UppercaseFirst(str);

得到这个:

Thisstringlookshorrible