从字符串中删除字符串

时间:2017-10-19 22:17:04

标签: python

我正在尝试使用字符串删除部分字符串。例如,如果一个字符串是" atgtga"我希望输出是" atg"。 我尝试使用.replace(" tga","")方法但我的TA说它只掩盖字符串的那部分而不是删除它。

我尝试了一种新的方法,但我仍然坚持使用if语句。

x="atgtgaacttaa"
c=0
q=3

while(q<=len(x)):
    x=x[c:q]

    if(x=="tga" or x=="taa" or x=="tag"):

       c=c+3
       q=q+3

print(x)

我尝试制作一个新功能,但我的输出忽略了#34; atg&#34;由于某种原因并删除它。

 def get_orf(dna_seq):
   x=0

   while(x<=len(dna_seq)):
     if("taa" in dna_seq or "tag" in dna_seq or "tga" in dna_seq ):
       dna_seq=dna_seq.replace("taa","") 
       dna_seq=dna_seq.replace("tag","") 
       dna_seq=dna_seq.replace("tga","")
       return dna_seq
     else:
      return dna_seq
     x=x+1

2 个答案:

答案 0 :(得分:2)

可以使用replace,有时事情就像他们在锡上说的那样:

>>> x = "atgtga"
>>> y = x.replace("tga", "")
>>> print(y)
atg

答案 1 :(得分:0)

你的TA不正确。 替换会返回带有指示更改的字符串。原始字符串确实仍然完好无损,但新字符串是一个单独的实体,不是原始字符串的一部分,不再依赖于原始字符串。