[英]Uppercase after last space in string
我想更改一個字符串,以便最后一個空格之后的字符變為大寫:
"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));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.