我对如何删除以以下结尾的特定单词组有疑问:在使用perl的字符串中。
例如,
lunch_at_home: start at 1pm.
我想在丢弃“lunch_at_home:”之后只能“从下午1点开始”
请注意,lunch_at_home只是一个例子。它可以是任何长度的字符串,但应以“:”结尾
答案 0 :(得分:3)
这应该可以胜任。
my $string = "lunch_at_home: start at 1pm."
$string =~ s/^.*:\s*//;
它将删除:
之前的所有字符,包括:
答案 1 :(得分:0)
取
my $string = "lunch_at_home: start at 1pm.";
删除最后一个“:”的所有内容以及问题中条目末尾的句点:
$string =~ s/.*: (.*)\./$1/;
删除第一个“:”
之前的所有内容$string =~ s/.*?: (.*)\./$1/;
答案 2 :(得分:0)
您可以使用split功能来实现此目的:
my $string = "lunch_at_home: start at 1pm.";
$string = (split /:\s*/, $string)[1];
print "$string\n";