相关疑难解决方法(0)

反转C#字符串中所有字母字符的大小写

在C#字符串中反转所有字母字符大小写的最简单方法是什么?例如"aBc1 $;" 应该成为"AbC1 $;" 我可以轻松编写一个执行此操作的方法,但我希望有一个我不知道的库调用会使这更容易.我还想避免列出所有已知的字母字符,并将每个字符与列表中的字符进行比较.也许这可以用正则表达式完成,但我不太了解它们.谢谢.

谢谢您的帮助.我为此创建了一个字符串扩展方法,其主要灵感来自Anthony Pegram的解决方案,但没有LINQ.我认为这在可读性和性能之间取得了很好的平衡.这就是我想出的.

public static string SwapCase(this string source) {
    char[] caseSwappedChars = new char[source.Length];
    for(int i = 0; i < caseSwappedChars.Length; i++) {
        char c = source[i];
        if(char.IsLetter(c)) {
            caseSwappedChars[i] =
                char.IsUpper(c) ? char.ToLower(c) : char.ToUpper(c);
        } else {
            caseSwappedChars[i] = c;
        }
    }
    return new string(caseSwappedChars);
}
Run Code Online (Sandbox Code Playgroud)

c# regex case-sensitive

7
推荐指数
2
解决办法
6843
查看次数

标签 统计

c# ×1

case-sensitive ×1

regex ×1