Perl:包含变量值模式的字符串

时间:2014-08-28 12:29:07

标签: string perl

我在变量$ k_name中传递了各种名称。我想看看一个字符串($ txt_string)是否包含存储在变量' $ k_name'中的名称。

我尝试过的代码:

if ($string =~ /$k_name/)
{
     print TXTFILE "Got Name: ".$k_name."\r\n";
}

1 个答案:

答案 0 :(得分:2)

如果“包含”是指真正的子字符串,则不需要正则表达式,只需使用index

if (-1 < index $txt_string, $k_name) {
    print TXTFILE "Got name: $k_name.\n";
}

确保$k_name不包含任何空格(最终换行符)。

顺便说一句,您的示例代码适用于以下值:

my $k_name = 'John';
my $txt_string = 'Joe Smith John Doe';