gpt4 book ai didi

perl - 从文件中的行中提取双引号内的字符串

转载 作者:行者123 更新时间:2023-12-04 23:49:35 24 4
gpt4 key购买 nike

我的文件内容为:

Component (0463) "commonfiles"
Component (0464) "demo_new_comp"
Component (0467) "test_comp" (removed)
Component (0469) "test_comp3" (removed)
Component (0465) "textfiles1

需要从每行(已删除)中提取双引号内的字符串并将其放入数组中。
我的代码是:
my $fh = new IO::File;
$fh->open("<comp.log") or die "Cannot open comp.log";
my @comp_items;
while (<$fh>) {
if ( $_ =~ /removed/ ) {;
my $compName = $_ = ~ m/"(.*?)"/;
print " Componnet Name : \"$compName\"\n";
}
}

我没有得到正确的输出,给出了一些数字:
"18446744073709551614"
"18446744073709551614"

输出应该是:
test_comp
test_comp3

最佳答案

my $compName = $_ = ~ m/"(.*?)"/;
= ~=~ 不同但分配和 bitwise negation

而你想要的是,
my ($compName) = $_ =~ m/"(.*?)"/;

要不就,
my ($compName) = /"(.*?)"/;

关于perl - 从文件中的行中提取双引号内的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25972090/

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