设想一个场景,您正在将DNA的碱基更改为互补碱基(A-> TT-> A等)

如果我想仅用一条替换命令(无论是replaceFirstreplaceAll等)在一行中执行此操作,该如何做?

System.out.println(X.replaceFirst("A","T").replaceFirst("G","C").replaceFirst("C","G").replaceFirst("T","A");

如果我在这里说AAA作为密码子,那就是AAA。有没有一种方法可以编码一旦更改了字母,就不能再通过其他命令对其进行更改了吗?

最佳答案

您可以,但是那太可怕了。

String x = "AAA";
System.out.println(x.replace("A", "X")
                    .replace("G", "Y")
                    .replace("C", "G")
                    .replace("T", "A")
                    .replace("X", "T")
                    .replace("Y", "C"));

技巧是将字母AG替换为未使用的其他字母,然后在末尾替换那些未使用的字母。

我建议您不要真正使用此代码,并且:
  • if语句
  • 使用所有4个碱基的enum及其对应的补码作为构造函数参数。
  • 10-04 12:51