将一条线分成它的组件

问题描述 投票:0回答:1

我需要将输入文件的行拆分为其列。

ATOM      0  HB3 ALA C 999      28.811  -7.680  12.279  1.00 57.53           H   

ATOM   7637  N   PRO C1000      27.299  -5.667  10.647  1.00216.82           N

我的代码工作正常,只要第6列<1000,或短于4位:

($ATOM, $atom_num, $atom_type, $res, $chain, $res_num) = split(" ", $pdb)

但是,只要第6列达到1000,它就不再区分这两列。我不是perl的专家,但我正在处理的代码是perl,所以我需要弄清楚如何拆分它,例如按每列的位数。有什么建议?

perl split
1个回答
4
投票

我通过使用unpack并定义每列的长度来解决它。 $ format ='A6 A6 A5 A4 A1 A5'; ($ ATOM,$ atom_num,$ atom_type,$ res,$ chain,$ res_num)= unpack($ format,$ pdb);

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.