【问题标题】:Splitting array using perl使用 perl 拆分数组
【发布时间】:2013-06-14 07:22:38
【问题描述】:

这是我的数组buff,我已将数组的内容存储如下:

$buff[0]="3\nHi how are u I am f";
$buff[1]="ine\n The world is so";
$buff[2]="beautiful.\n";
$buff[3]="I love it.";

我想拆分数组并打印为

3
Hi how are u I am fine
The world is so beautiful.
I love it.

我该如何做到这一点?我尝试使用这样的split 函数:

my @split_buff=split('\n', @buff);

foreach my $val (@split_buff) {
     print $val;
}

但我无法以\n 作为分隔符进行拆分,并且我还需要保留分隔符。代码有什么问题?

【问题讨论】:

  • 你真的想要两个输出之间的空行(我指的是你输入所需输出的原始方式),还是没关系?

标签: arrays perl split


【解决方案1】:

我想你可以简单地print它。

print @buff;

【讨论】:

  • ine\n The world is so 中的The 之前有空格,似乎不需要。
  • @mpapec 我相信 OP 可以理解我的观点并自己完成它。 :)
【解决方案2】:

全部加入并由\n\s*拆分

my @split_buff = split /\n\s*/, join "", @buff;

foreach my $val (@split_buff) {

  print "$val\n";
}

【讨论】:

    【解决方案3】:

    我喜欢回答:“打印@buff;”。你也可以试试这段代码:

        $text = ""; # or my $text;
        foreach $line (@buff) { $text = $text . "$line"; }
        print $text;
    

    【讨论】:

      猜你喜欢
      • 2014-06-21
      • 1970-01-01
      • 2014-04-06
      • 1970-01-01
      • 2012-01-26
      • 2015-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多