我正在寻找一种方法来获取文件中单词"ISBN="
的每个实例后面的7个字符。文件中每行有一个ISBN=
。
就像......
my @data = ();
my $word = "ISBN=";
foreach my $line (@file) {
if (index($line, $word) ge 0) {
my $d = next seven characters;
push (@data, $d);
}
}
我不知道......
答案 0 :(得分:3)
听起来像正则表达式,捕获会更容易:
if ($line =~ /ISBN=(.{7})/) {
push @data, $1;
}
答案 1 :(得分:3)
if ($line =~ /\Q$word\E(.{7})/) {
push(@data, $1);
}
答案 2 :(得分:0)
要从字符串中的已知索引获取固定数量的字符,请使用substr函数:
my $d = substr $line, index($line, $word) + length($word), 7;