[英]Make lower case upper and upper case lower in a string
我一直在努力使用 .ToUpper 和 .ToLower 將字符串中的單詞轉換為相反的情況。
示例 1:
Input: hello WORLD
Output: HELLO world
示例 2:
Input: THIS is A TEST
Output: this IS a test
string a = "hello WORLD";
string b = new string(a.Select(_ => char.IsLower(_) ? char.ToUpper(_) : char.ToLower(_)).ToArray());
定義一個函數,將單個大小寫的單詞轉換為相反的大小寫:
string ConvertCase(string word)
{
if (word.All(char.IsUpper)) return word.ToLower();
if (word.All(char.IsLower)) return word.ToUpper();
return word;
}
然后將你的句子拆分成單詞,轉換每個單詞並連接回一個字符串:
var convertedSenetence = string.Join(' ', sentence.Split(' ').Select(ConvertCase));
當然,如果您願意,可以內聯:
var convertedSenetence = string.Join(' ', sentence
.Split(' ')
.Select(word =>
word.All(char.IsUpper) ? word.ToLower() :
word.All(char.IsLower) ? word.ToUpper() :
word));
你可以這樣做:
string input = "hello WORLD";
string output = "";
foreach(char c in input ){
output += Char.IsUpper(c) ? Char.ToLower(c) : Char.ToUpper(c);
}
Console.WriteLine(output);
上面的代碼反轉字符串中每個字符的大小寫,所以它的駝峰式、PascalCase 或只是大寫/小寫都沒有關系。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.