【发布时间】:2021-12-11 18:34:24
【问题描述】:
/* start of maker a_b.c[0] */
/* start of maker a_b.c[1] */
maker ( "a_b.c[0]" )
maker ( "a_b.c[1]" )
如何提取双引号内的字符串并将它们存储到数组中?这是我尝试过的。
open(file, "P2.txt");
@A = (<file>) ;
foreach $str(@A)
{
if($str =~ /"a_b.c"/)
{
print "$str \n";
}
}
注意:只有双引号内的内容必须存储到数组中。如果您在斜杠内看到示例的第一行,您将看到我想要匹配的相同字符串。那不应该被打印出来。所以只有双引号内的字符串应该存储到数组中。即使相同的字符串在没有双引号的情况下在其他地方重复,它也不应该被打印。 .
【问题讨论】:
-
你能粘贴你试过的代码吗?
-
"您将能够在双引号中看到相同的字符串" 第一行的字符串周围没有双引号。您的意思是 not 在双引号中吗?目前你可以简单地做
my @results = $str =~ /"(.*?)"/g;,对吧? -
@vkk05 我已经展示了我所写的内容。请检查。
-
@Hakon 我的意思是同样提到的字符串也可以出现在双引号之外。所以我们应该只将提到的双引号中的字符串存储到数组中。
-
@BoggarapuLokesh 你必须打印
@result数组才能得到输出
标签: perl