replaceFirst用于重复字符串,每个字母都被更改

时间:2015-10-03 20:02:11

标签: java replace

想象一下,您正在将DNA的基础更改为其补充(A - > TT - > A等。

如果我想在一行中执行此操作,只需使用替换命令(无论是replaceFirstreplaceAll等),我该怎么做呢?如果我没有遇到逻辑陷阱?

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

如果我在这里说AAA作为密码子,它就会出现AAA。有没有办法对代码进行编码,一旦更改了一个字母,就不能再通过另一个命令再次更改它?

1 个答案:

答案 0 :(得分:3)

你可以,但它非常可怕。

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及其相应的补码作为构造函数参数。