我开始使用C#和编程一般而且我一直在玩"if"语句,数组并且通常会掌握一些东西.然而,让我感到困惑的一件事就是如何进行本质上相互矛盾的替换操作.
IE:我有字符串"AAABBB",但我想搜索我的文本并将所有"A"替换为"B",反之亦然.所以我的预期输出将是"BBBAAA".
我目前正在尝试使用string.replace和if语句,但它不起作用(它遵循语句的顺序,所以在上面的例子中我得到所有"A"或全部"B".
代码示例:
if (string.Contains("a"));
{
string = string.Replace("a", "b");
}
if (string.Contains("b"));
{
string = string.Replace("b", "a");
}
Run Code Online (Sandbox Code Playgroud)
任何帮助都会非常受欢迎!
Jon*_*eet 10
如果你总是用另一个角色替换一个角色,那么最简单的方法就是将它转换成char[]一个角色,一次一个角色,然后适当地修复每个角色 - 而不是做"全部为",然后是"所有的B".
public static string PerformReplacements(string text)
{
char[] chars = text.ToCharArray();
for (int i = 0; i < chars.Length; i++)
{
switch (chars[i])
{
case 'A':
chars[i] = 'B';
break;
case 'B':
chars[i] = 'A';
break;
}
}
return new string(chars);
}
Run Code Online (Sandbox Code Playgroud)