0

我有一个 Perl 变量,其中包含(链接终端调用)字符串“&00”。该字符串可能在较大的字符串中多次出现。

我怎样才能发现较大的字符串是否包含较小的字符串,以“砍”它?它总是出现在字符串的末尾。

就像是:

if ($string =~ (m//))
4

3 回答 3

1

假设您只想检查或替换字符串的结尾,

if ($string =~ /\&00$/)

来检测它。

或者如果你只是想更换它,

$string =~ s/(.*)\&00$/$1/
于 2012-12-30T03:29:24.890 回答
0

您可以使用索引功能

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.
于 2012-12-30T03:31:04.200 回答
0

如果您只想删除它,如果它在最后:

if ( substr($string, -3) eq '&00' )
于 2012-12-30T03:11:45.660 回答