【问题标题】:finding which sub string comes first, which comes second and which comes third查找哪个子字符串在前,哪个在第二,哪个在第三
【发布时间】:2015-05-16 00:04:57
【问题描述】:
String s="CCATGTTGGCCTAGGTGACAC";

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

【问题讨论】:

  • 目前尚不清楚您要达到的目标。测试数据“垃圾”"ddddeeaxgghnnnbykkkkkklllllczfr" 根本无助于理解您的问题。有机会看到您尝试解决问题的代码吗?

标签: java string substring


【解决方案1】:

可以得到每个子串的索引..

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

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

【讨论】:

    【解决方案2】:
        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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-01
      • 2021-11-15
      • 2020-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多