簡體   English   中英

在字符串中使小寫大寫和大寫降低

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

C#

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.

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