Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-12-08
帖子: 1
声望力: 0 ![]() |
![]()
欢迎对matlab处理文本熟练者进来练手~~
一个a.txt文本,内容格式如下: locus ai976 n 00989JUR …… --(省略无意义的字符) ORGIN 1 gcggcccagg cccggaacct tccctggtcg tgcgccatat gtaaggccag ccgcggcagg 61 accaaggcgg cggtgtcagc tcgcgagcct accctccgcg gacggtcttg ggtcgcctgc 121 tgcctggctt gcctggtcgg cggcgggtgc cccgcgcgca cgcgcaaagc ccgccgcgt …… …… // locus sklf 08379 JUR0837 …… ORIGIN 1 ctaaggaggg agccgaaaga gcgagcggtg gggacagcca ccgctaaatg ccagcccggt 61 ggagggagga aggcggaccc caggccggtg ggaccacatc tcccagaagc cccggcgcca 121 aggcactggc ctctcagtcc tcccccgagg aggcggggcc gctggcgaag ttgaagggg …… …… // Locus sldjf jun08 ……… …… 问题:用matlab编写程序读入a.txt文档然后将一系列以"ORIGIN" 开头,"//"结尾的中间的字符串提取出来(去除空格和数字)分别以a1.txt,a2.txt……形式存储在新的文件夹中 目前小弟只能将第一个"ORIGIN" 与"//"之间的字符串存在a1.txt中,程序如下: X=textread('a.txt','%c'); A=X'; B=A(strfind(A,'ORIGIN')+6:strfind(A,'//')); C=B(find(isletter(B)==1)) fid = fopen('a1.txt', 'wt'); fprintf(fid, '%c', C); fclose(fid) 但是如何编程循环将其他的"ORIGIN" 与"//"之间的字符串取出来单独存档呢? 小弟跪地求解~~~~谢谢先~~ |
![]() |
![]() |