如何交换字符串中的字符

Gra*_*ham 5 c#

你要告诉我这很简单,我知道,但是如何将所有A同时更改为B,将所有B同时更改为A,字符串为s.

s= s.Replace( 'A', 'B').Replace( 'B', 'A');
Run Code Online (Sandbox Code Playgroud)

显然不太合适,那么正确的方法是什么?

Jam*_*rpe 6

使用Regex.Replace和 aMatchEvaluator来完成这项工作。这将处理比单个字符长的字符串,如果A并且B永远变得更复杂:

s = Regex.Replace(s, "A|B", (m) => m.Value == "A" ? "B" : "A");
Run Code Online (Sandbox Code Playgroud)


Ehs*_*jad 6

您可以使用linq替换字符:

string s = "ABZBA";
var result= s.Select(x=> x == 'A' ? 'B' : (x=='B' ? 'A' : x)).ToArray();
s = new String(result);
Run Code Online (Sandbox Code Playgroud)

输出:

BAZAB