Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2009-12-08, 19:05   #1
nxhylyh
初级会员
 
注册日期: 2009-12-08
帖子: 1
声望力: 0
nxhylyh 正向着好的方向发展
默认 matlab对字符串的操作(循环套用)

欢迎对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" 与"//"之间的字符串取出来单独存档呢?
小弟跪地求解~~~~谢谢先~~
nxhylyh 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 15:03


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.