如何从指定字母开始找到一个单词,然后删除字符串中的所有其他内容


my @buildno = $mech->xpath('/html/body/form/table/tbody/tr[2]/td[3]/table
/tbody/tr[2]/td/table/tbody/tr[1]/td/table/tbody/tr[1]/td', type => 
$mech->xpathResult('STRING_TYPE'));

i具有上述代码,其中包含一个字符串。我需要捕获以字符串中数组中包含的CSR开头的单词。只有一个元素@buildno[0]。我需要保留单词并删除字符串中的所有其他内容。我尝试使用m//方法,但是它只会返回布尔值,告诉我这个词存在。我还尝试了suttutut s///的字幕,但是我只能删除我需要保留的单词,我无法找到一种扭转该功能的方法。

编辑我已经设法将字符串分开并将其放入一个新数组中,因此每个单词都是单独的索引。

my $buildno = join('', @buildno);
my @build = split(' ',$buildno);
print @build[1];

我在这种情况下要寻找的单词是数组中的第二个元素,因为它是第二个单词 @build[1],但是单词可能并不总是是字符串中的第二个单词,例如,它可能是第四个单词。我的目的是捕获该特定词以供以后使用。

您可以使用m//将其存储在捕获组中,然后用匹配的组替换整个原始字符串:

do {$_ = $1 if /(?:^|s)(CSRS*)/} foreach @buildno;

演示:https://ideone.com/1l7yjb

相关内容

  • 没有找到相关文章

最新更新