gpt4 book ai didi

perl - 如何使用 2 Foreach Perl 拆分字符串

转载 作者:行者123 更新时间:2023-12-04 04:51:16 26 4
gpt4 key购买 nike

您好,我有一个连接到 cisco 路由器的 perl 脚本

如果没有像这样拆分,实际输出

show int descInterface                      Status         Protocol DescriptionGi1/0/0                        up             up       TRUNK ME-A-JKT-TAN 5/2/1 u/ Service VPN-IP (Support QoS)Gi1/0/0.23                     up             up       VPNIP TIGARAKSA SATRIA BSD,TANGERANG CID 20490023 TENOSS 47086151509200818077

then i put my code into this script like this

my @output1 = split(/\s{2,}/, $output);

foreach my $output2 (@output1) {
$output3="$output2%";
my @output4 = split(/\s{2,}/, $output3);
foreach my $output5 (@output4) {
print "$output5#"
}
}

为什么这样打印出来

显示int desc
接口(interface)%#状态%#协议(protocol)说明
Gi1/0/0%#up%#up%#TRUNK ME-A-JKT-TAN 5/2/1 u/服务VPN-IP(支持QoS)
Gi1/0/0.23%#up%#up%#VPNIP TIGARAKSA SATRIA BSD,TANGERANG CID 20490023 TENOSS 47086151509200818077

我想像这样打印出来

show int desc#Interface%Status%Protocol%Description#Gi1/0/0%up%up%TRUNK ME-A-JKT-TAN 5/2/1 u/Service VPN-IP (Support QoS)#Gi1/0/0.23%up%up%VPNIP TIGARAKSA SATRIA BSD,TANGERANG CID 20490023 TENOSS 47086151509200818077#

我想要一个 2 个或更多的空格,用 % 分割,而/n 用 # 分割
谢谢您的帮助

最佳答案

也许是因为你还没有chomp编辑你的台词?此外,您将同时添加 #%到带有嵌套 for 的每一行循环。您的第二个拆分语句与第一个相同,是什么让您认为它有任何作用?

如果您只想替换空格和换行符,为什么不这样做呢?

$output =~ s/\n+/#/g;
$output =~ s/\s{2,}/%/g;
print $output;

此外,您应该知道将变量命名为 $output2 是一种可怕的做法。 , $output3 ... $output5 .

关于perl - 如何使用 2 Foreach Perl 拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17401926/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com