找到哪个子字符串首先出现,哪个出现在第二个,哪个出现在第三个

时间:2015-03-13 13:25:27

标签: java string substring

String s="CCATGTTGGCCTAGGTGACAC";

我试图从DNA序列上面找到一个开放阅读框。首先,我必须找出是否有" ATG"作为子字符串出现。如果它在那里,那么我必须找出是否存在这些子字符串中的任何一个" TAA"," TAG"," TGA"。在这三个子字符串中,以先到者为准是考虑因素,然后我会打印来自" ATG"到" TAA"或者" TAG"或者" TGA"以先到者为准。 从上面的字符串输出应该是" ATG TTGGCC TAG"。

2 个答案:

答案 0 :(得分:0)

您可以获取每个子字符串的索引..

System.out.println(s.indexOf("ax"));

索引最小的那个是第一个。

答案 1 :(得分:0)

    String testString = "ddddeeaxgghnnnbykkkkkklllllczfr";


    String[] frags = testString.split("(ax|by|cz)");
    if(frags.length >= 1) {
        System.out.println("first=" + frags[0]);
        if(frags.length >= 2) {
            System.out.println("second=" + frags[1]);
            if(frags.length >= 3) {
                System.out.println("third=" + frags[2]);
            }
        }
    } else {
        System.out.println("nothing found");
    }

打印:

  

第一= ddddee
  第二= gghnnn
  第三= kkkkkklllll