连接数组元素,然后从结果中删除空格

时间:2018-06-18 10:12:28

标签: perl

我从PSQL的SELECT查询得到了一定的结果,每个表都带有一个前导空格。

然后我通过管道连接元素如下:

client.set_access_token(options[:access_token],options[:access_secret])

我得到的结果为:

my @tables = @_;
my $table_list = join "|",@tables;

我希望输出为:

TABLE LIST IS: NEW_ENTRY| SAMPLE| NEW_ENTRY| SAMPLE

我尝试使用地图,但是不知道我错过了什么。

3 个答案:

答案 0 :(得分:5)

你需要

my $table_list = join '|', map { s/^\s+//r } @tables

但正如 simbabque 在评论中所说,你应该调查这些空间的来源并解决潜在的问题。可能是数据库填充不正确,或者错误可能在您编写的代码中以便读取。

答案 1 :(得分:0)

( my $table_list = join( "|", @tables )) =~ s/\s+//g;

如果您将作业放在括号中,则可以在作业后应用替换。

答案 2 :(得分:-1)

我建议你再次运行splite,然后再加入内容。 chomp在这里不起作用,因为(我认为空间在前面)如果你想通过地图你可以去。

my $table=" NEW_ENTRY| SAMPLE| NEW_ENTRY| SAMPLE";
my @arr=split(' ',$table);
my $arr1=join('',@arr);

输出: NEW_ENTRY |标样| NEW_ENTRY |样品