+ -
当前位置:首页 → 问答吧 → 取后半部分问题?

取后半部分问题?

时间:2010-08-30

来源:互联网

大家好:
   我有一些数据时这样的:
>1B-2.AB008441
RKRLAMALV$VSCSLQDPPS
>_.AB016785
ASPLMGATLHHRSLPCEELL
>Chimp-J4.AB030907
ARPLMGATLRHESLPCEELL
>VAT96.AB031663
CPPLNGATLRHESLPCEELL
>MD2b1.AB047639
TCP$$GRHSAMNHSPVRNYC
>Patient H.AB049087
IDHSPVRNYCLHAESV$PWR
>58.AB049087
IDHSPVRNYCLHAESV$PWR

我只想去掉以>开头的前部分。(就是以点分割,)保留后半部分。不知道该怎么做。 得到的结果应该是这样:
>AB008441
RKRLAMALV$VSCSLQDPPS
>AB016785
ASPLMGATLHHRSLPCEELL
>AB030907
ARPLMGATLRHESLPCEELL
>AB031663
CPPLNGATLRHESLPCEELL
>AB047639
TCP$$GRHSAMNHSPVRNYC
>AB049087
IDHSPVRNYCLHAESV$PWR
>AB049087
IDHSPVRNYCLHAESV$PWR

作者: leigh111   发布时间: 2010-08-30

搞定了。  忘了.*的威力了。  结了

作者: leigh111   发布时间: 2010-08-30

  1. #!/usr/bin/perl

  2. while(<DATA>){
  3.     if(/^>/){
  4.          print ">".substr($_,-9,9) ;
  5.     }
  6.     else{
  7.          print "$_";
  8.          }
  9. }
  10. __DATA__
  11. >B-2.AB008441
  12. RKRLAMALV$VSCSLQDPPS
  13. >_.AB016785
  14. ASPLMGATLHHRSLPCEELL
  15. >Chimp-J4.AB030907
  16. ARPLMGATLRHESLPCEELL
  17. >VAT96.AB031663
  18. CPPLNGATLRHESLPCEELL
  19. >MD2b1.AB047639
  20. TCP$$GRHSAMNHSPVRNYC
  21. >Patient H.AB049087
  22. IDHSPVRNYCLHAESV$PWR
  23. >58.AB049087
  24. IDHSPVRNYCLHAESV$PWR
复制代码
这个可以吧!

作者: huanhuolang   发布时间: 2010-08-30

(split /\./,$_)[1] if /^>/  #假设后半部分不含.

作者: wfnh   发布时间: 2010-08-30