回答
方式一:
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
这对DBCS是否正常工作? –
@ThorstenDittmar .NET有Unicode字符串。而char代表UTF-16字符 –
@SergeyBerezovskiy正确。然而,同样的问题适用于代理对,这将不会被正确处理(并且只是在一般情况下没有正确处理,在我见过的大多数代码中)。 – hvd
你可以试试这个:
lower = source.Substring(0, 1).ToLower() + source.Substring(1);
string test = "ConfigService";
string result = test.Substring(0, 1).ToLower() + test.Substring(1);
另外,使用'Substring'方法来获取第一个字符似乎有点超过顶部:) – Tarec
我只想做到这一点:
Char.ToLowerInvariant(yourstring[0]) + yourstring.Substring(1)
简单,能够完成任务。
编辑:
看起来this thread有同样的想法。 :)
string FirstLower(string s)
{
if(string.IsNullOrEmpty(s))
return s;
return s[0].ToString().ToLower() + s.Substring(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);
}
请注意,如果需要对其他语言的支持,进一步超载将是必要的。
这可以帮助你,改变第一个字符下,如果它是上,还检查null或空,只有空白字符串:
string str = "ConfigService";
string strResult = !string.IsNullOrWhiteSpace(str) && char.IsUpper(str, 0) ? str.Replace(str[0],char.ToLower(str[0])) : str;
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;
}
希望这将帮助你!在这里我提出了两种方法,以任何字符串作为参数,并根据您将使用的方法将字符串以第一个字母大写或小写字符返回
- 1. Android:将字符串的第一个字母转换为小写
- 2. C源代码将字符串中的第一个字母从小写字母改为大写字母
- 3. (PHP)使字符串小写,但第一个字母除外
- 4. 由另一个字符串排序字符串,大写字母第一个
- 5. 获取字符串中子字符串的第一个字母
- 6. 带大写字母和小写字母的字符串转换
- 7. BestPractice - 将字符串的第一个字符转换为小写
- 8. 字符串 - 大写元音,下一个字母的字母 - Javascript
- 9. preg_match:字符串和第一个非字母数字字符
- 10. 子字符串在第一个字母数字字符
- 11. C函数大写指针字符串的第一个字符
- 12. 使字符串数组的所有字符串变成小写字母,除了第一个字
- 13. 检查字符串的第一个字母是否大写
- 14. 如何制作字符串大写的第一个字母?
- 15. 如何将字符串中的第一个字母大写?
- 16. 大写字符串的第一个字母(前面有特殊字符) - PHP
- 17. 字符串的最后一个字母的大小写
- 18. C长度不等的字符串,小写字母到大写字母
- 19. 将字符串转换为小写字母c后的字符串
- 20. 大写首字母我无法转换的第一个字母,以资本的字符串字符串
- 21. 如何在字符串中使用Javascirpt大写字母的第一个字母
- 22. 在第一个非字母字符分割字符串
- 23. Python:在最后一个小写字母处拆分字符串
- 24. java中两个字符串的大写字母的常见字符/字母
- 25. 在C中使用大写字母和小写字母对字符串排序
- 26. C中字符串的第一个字母
- 27. 打印C++字符串数组的第一个字母
- 28. 如何取C字符串的第一个字母?
- 29. preg_match确保字符串中的第一个字符是大写或小写字母
- 30. 将字符串的替代字符转换为大写。字符串的第一个字母必须是Capital
您是否检查了这一点? http://stackoverflow.com/questions/3565015/bestpractice-transform-first-character-of-a-string-into-lower-case – Niklas
http://stackoverflow.com/questions/4135317/make-first-letter- of-a-string-upper-case改为'ToUpper'将其改为'ToLower'。 – Random
注意:任何“第一个字符”相关的事情在讨论任何非简单unicode之外的事情时都会非常危险。结合变音符号,共轭对和从右到左都会导致问题 –