-1
最后的空间,我想改变一个绳子,让最后一个空格之后的字符变成大写后:大写字符串
"a" => "A"
"aa" => "Aa"
"aa b" => "aa B"
"aa bb cc" => "aa bb Cc"
有一个简单的LINQ的语法(或任何其他的速记符号)?
最后的空间,我想改变一个绳子,让最后一个空格之后的字符变成大写后:大写字符串
"a" => "A"
"aa" => "Aa"
"aa b" => "aa B"
"aa bb cc" => "aa bb Cc"
有一个简单的LINQ的语法(或任何其他的速记符号)?
对于正则表达式而言,这似乎比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));
linq实际上是关于查询,而不是修改。为什么你需要一个linq表达式? – Default
为什么[TextInfo.ToTitleCase](https://msdn.microsoft.com/en-us/library/system.globalization.textinfo.totitlecase.aspx)不适合你? – DavidG
TextInfo.ToTitleCase将不起作用,只有最后一个单词应该以大写字母开头,而不是所有单词。 – PJL