免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: zhwjmch
打印 上一主题 下一主题

高手赐教 fasta 提取特定行 [复制链接]

论坛徽章:
1
羊年新春福章
日期:2015-04-28 20:40:58
11 [报告]
发表于 2015-08-21 19:21 |只看该作者
fasta格式是这样吗?你贴个标准的出来吧。
如果是我接触的fasta格式,则
第一行为key,第二行为value建哈希。key先匹配出来""loc=xx"",再判断长度,判断提取就可以了。回复 1# zhwjmch


   

求职 : 软件工程师
论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2016-05-05 06:20:00
12 [报告]
发表于 2015-08-22 13:18 |只看该作者
回复 1# zhwjmch


    如果得到了保存 length 的值 $length 和 loc=* 的字符串 $str:

  1. if (($length > 300) and (($str == 'loc=2R') or ($str == 'loc=2L'))) {
  2.     # 这就是想要的东西
  3. }
复制代码
所以关键是从字符串中提取这两个子字符串,并保存在变量中
  1. / ^ > .*? (loc=2R|loc=2L) .*? length=(\d+); .* $ /xms
复制代码
这样就可以从 $1 获取 $str, $2 中获取 $length

大部分的工作在于从字符串中提取想要的信息。

想掌握这方面的能力,首先要学正则表达式。要想更进一步,就要学习 Perl6 的 grammar,,从此不管多复杂的文本数据,即使是代码本身,也可以轻松看清里面的数据结构。

评分

参与人数 1信誉积分 +10 收起 理由
substr函数 + 10 赞一个!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP