我想要更改一个字符串,以便最后一个空格后的字符变为大写:
"a" => "A"
"aa" => "Aa"
"aa b" => "aa B"
"aa bb cc" => "aa bb Cc"
是否有简单的Linq语法(或任何其他简写符号)?
答案 0 :(得分:4)
对于正则表达式而言,这似乎比Linq更重要。
例如,你可以写一个这样的方法
string ConvertLastWordToUpperCase(string input)
{
return Regex.Replace(input, @"\w+$",
m => CultureInfo.CurrentCulture.TextInfo.ToTitleCase(m.Value));
}
用你的测试字符串调用它
Console.WriteLine(ConvertLastWordToUpperCase("a"));
Console.WriteLine(ConvertLastWordToUpperCase("aa"));
Console.WriteLine(ConvertLastWordToUpperCase("aa b"));
Console.WriteLine(ConvertLastWordToUpperCase("aa bb cc"));
此时你也可以使用Linq这样的
执行转换List<string> testCase = new List<string>()
{ "a", "aa", "aa b", "aa bb cc"};
var result = testCase.Select(x => ConvertLastWordToUpperCase(x));