如何将字符串的第一个字符设为小写?
例如:ConfigService
我需要它像这样:configService
答案 0 :(得分:11)
这将有效:
string s = "ConfigService";
if (s != string.Empty && char.IsUpper(s[0]))
{
s= char.ToLower(s[0]) + s.Substring(1);
}
Console.WriteLine(s);
答案 1 :(得分:7)
一种方式:
string newString = oldString;
if (!String.IsNullOrEmpty(newString))
newString = Char.ToLower(newString[0]) + newString.Substring(1);
对于它的价值,一种扩展方法:
public static string ToLowerFirstChar(this string input)
{
string newString = input;
if (!String.IsNullOrEmpty(newString) && Char.IsUpper(newString[0]))
newString = Char.ToLower(newString[0]) + newString.Substring(1);
return newString;
}
用法:
string newString = "ConfigService".ToLowerFirstChar(); // configService
答案 2 :(得分:2)
你可以试试这个:
lower = source.Substring(0, 1).ToLower() + source.Substring(1);
答案 3 :(得分:2)
public static string Upper_To_Lower(string text)
{
if (Char.IsUpper(text[0]) == true) { text = text.Replace(text[0], char.ToLower(text[0])); return text; }
return text;
}
public static string Lower_To_Upper(string text)
{
if (Char.IsLower(text[0]) == true) { text = text.Replace(text[0], char.ToUpper(text[0])); return text; }
return text;
}
希望这会对你有所帮助!这里我做了两个方法作为参数任何字符串,并根据您将使用的方法返回首字母大写或小写的字符串
答案 4 :(得分:1)
string test = "ConfigService";
string result = test.Substring(0, 1).ToLower() + test.Substring(1);
答案 5 :(得分:1)
我会这样做:
Char.ToLowerInvariant(yourstring[0]) + yourstring.Substring(1)
简单并完成工作。
编辑:
看起来this thread有同样的想法。 :)
答案 6 :(得分:1)
string FirstLower(string s)
{
if(string.IsNullOrEmpty(s))
return s;
return s[0].ToString().ToLower() + s.Substring(1);
}
答案 7 :(得分:1)
使用此功能:
public string GetStringWithFirstCharLowerCase(string value)
{
if (value == null) throw new ArgumentNullException("value")
if (String.IsNullOrWhiteSpace(value)) return value;
char firstChar = Char.ToLowerInvariant(value[0]);
if (value.Length == 1) return firstChar;
return firstChar + value.Substring(1);
}
请注意,如果需要支持其他语言,则需要进一步超载。
答案 8 :(得分:1)
这可以帮助你,如果它是高位则将第一个字符更改为低,并且还检查null或空并且只检查空白字符串:
string str = "ConfigService";
string strResult = !string.IsNullOrWhiteSpace(str) && char.IsUpper(str, 0) ? str.Replace(str[0],char.ToLower(str[0])) : str;