文字列全体を文字通り逆にすることなく、文字列内の個々の文字を逆にする方法を知りたいです。以下に示すコードを使用して、次の結果を得ました。また、結果がどうあるべきかを示します。
- 入力: a29z3
- 出力: a20a3
- あるべき姿: z70a6
ご覧のとおり、最初に期待した結果が得られていません。個々の文字をすべて逆にする必要がありますが、これを行う方法に興味があります。上記の結果は、次のコードで得たものです。
static void Main()
{
string input = "a29z3";
//Reverse Letters
input = input.Replace("a", "z");
input = input.Replace("b", "y");
input = input.Replace("c", "x");
input = input.Replace("d", "w");
input = input.Replace("e", "v");
input = input.Replace("f", "u");
input = input.Replace("g", "t");
input = input.Replace("h", "s");
input = input.Replace("i", "r");
input = input.Replace("j", "q");
input = input.Replace("k", "p");
input = input.Replace("l", "o");
input = input.Replace("m", "n");
input = input.Replace("n", "m");
input = input.Replace("o", "l");
input = input.Replace("p", "k");
input = input.Replace("q", "j");
input = input.Replace("r", "i");
input = input.Replace("s", "h");
input = input.Replace("t", "g");
input = input.Replace("u", "f");
input = input.Replace("v", "e");
input = input.Replace("w", "d");
input = input.Replace("x", "c");
input = input.Replace("y", "b");
input = input.Replace("z", "a");
//Reverse numbers
input = input.Replace("0", "9");
input = input.Replace("1", "8");
input = input.Replace("2", "7");
input = input.Replace("3", "6");
input = input.Replace("4", "5");
input = input.Replace("5", "4");
input = input.Replace("6", "3");
input = input.Replace("7", "2");
input = input.Replace("8", "1");
input = input.Replace("9", "0");
Console.WriteLine(input);
}
提案や例は大歓迎です!