簡體   English   中英

字符串中最后一個空格后的大寫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM