[英]Splitting Perl string and adding _ in between
题。 我试图从命令行中读取perl字符串,例如“ abcdef”,然后将其拆分为“ a_b_c_d_e_f”。
我在逻辑部分苦苦挣扎。 有任何想法吗?
#!/usr/bin/perl
while($line=<STDIN>){
chomp $line;
split $line;
join ("_", $line);
print $line;
}
split
页实际上包括以下示例:
print join(':', split('', 'abc')), "\n";
调整为使用_
代替:
和$line
代替'abc'
,我们得到:
print join('_', split('', $line)), "\n";
最重要的一点是split
不会修改其参数,它只会返回一个列表,而join
不会修改其参数,它只会返回一个字符串。 因此,在不使用返回值的情况下调用split
或join
毫无意义。
您需要的是
print join('_', split //, $line), "\n";
除非必须使用split
,否则可以为此使用字符间替换:
use strict;
use warnings;
my $string = 'abcdef';
$string =~ s/(?<=.)(?:)(?=.)/_/g;
print $string;
输出:
a_b_c_d_e_f
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.