我有一个 Perl 变量,其中包含(链接终端调用)字符串“&00”。该字符串可能在较大的字符串中多次出现。
我怎样才能发现较大的字符串是否包含较小的字符串,以“砍”它?它总是出现在字符串的末尾。
就像是:
if ($string =~ (m//))
假设您只想检查或替换字符串的结尾,
if ($string =~ /\&00$/)
来检测它。
或者如果你只是想更换它,
$string =~ s/(.*)\&00$/$1/
您可以使用索引功能。
use strict;
use warnings;
my $sometext = "my text here contains &00 and some more text";
my $text_to_search = "&00";
print index($sometext, $text_to_search), "\n";
您可以稍后使用substr将其砍掉。
my $idx = index($sometext, $text_to_search);
print substr($sometext, 0, $idx); # if it's to the end, you can alter to suit.
如果您只想删除它,如果它在最后:
if ( substr($string, -3) eq '&00' )