arrays - 将制表符分隔的数据拆分为数组

标签 arrays perl split

对于输入示例(第 1 行),我需要将数据拆分为由制表符分隔的列:abc<tab>def<tab>ghi这样每列都放在不同的数组中。

我可以使用 split('\t') 实现吗? ?

最佳答案

我不完全确定你想做什么,因为你没有提供引用代码。但是,这至少会粗略地做我认为你想要的。获取一个输入文件(假设它比提供的文件更长更好地阅读)并且对于保存输入的数组中的每一行,拆分 \t 并将第一个元素推送到 @group1 等。您应该能够从那里打印出每个元素...

#!/usr/bin/perl
use warnings;
use strict; 

open my $infile, '<', 'in.txt' or die "Can't read from $file: $!";

my (@group1, @group2, @group3);

while (<$infile>){
    my @cols = split(/\t/);
    push @group1, $cols[0];
    push @group2, $cols[1];
    push @group3, $cols[2];
}   

print "$group1[0]\n";
print "$group2[0]\n";
print "$group3[0]\n";

输出:

abc
def
ghi

关于arrays - 将制表符分隔的数据拆分为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18512050/

相关文章:

java - 查找两个一维数组的并集、交集和差集

python - Python 中 Perl 的 BEGIN{} block

python - 如何分隔逗号分隔的列表

python - 在指定行 Python 之后拆分 CSV 文件

c++ - 如何在 C++ 中正确表示非完整字节数字数组?

javascript - 有什么方法可以编辑for循环吗?

mysql - 在单个 MySQL 查询中更新多个列是否有限制?

Linux权限基础转换

java - Java 中的字符串分割

java - JAX-RPC WebService 未在 WSDL 中生成 java 数组