删除尾随单词以:使用perl从字符串结束

时间:2015-04-22 08:28:01

标签: perl

我对如何删除以以下结尾的特定单词组有疑问:在使用perl的字符串中。

例如,

lunch_at_home: start at 1pm.

我想在丢弃“lunch_at_home:”之后只能“从下午1点开始”

请注意,lunch_at_home只是一个例子。它可以是任何长度的字符串,但应以“:”结尾

3 个答案:

答案 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";