正则表达式 – 保持字符串的前两部分具有分隔符
发布时间:2020-12-14 05:39:03 所属栏目:百科 来源:网络整理
导读:以下是否有更简洁/更完美的方式: my @components = split /-/,$original;my $final_string = $components[0]."-".$components[1]; 输入是一个最多2个字符串 – 最后一个是可选的.我总是希望保留第一部分.即10-9-1应该变成10-9和10-9,因为输入应该保持10-9
以下是否有更简洁/更完美的方式:
my @components = split /-/,$original; my $final_string = $components[0]."-".$components[1]; 输入是一个最多2个字符串 – 最后一个是可选的.我总是希望保留第一部分.即10-9-1应该变成10-9和10-9,因为输入应该保持10-9 解决方法use Modern::Perl; my $re = qr/-d+K.*$/; while(<DATA>) { chomp; s/$re//; say; } __DATA__ 10-9-1 10-9 仅限一个字符串: my $original = '10-9-1'; (my $final = $original) =~ s/-d+K.*$//; say $final; Explantion: s/ - # find the first dash in the string d+ # 1 or more digits K # forget all we have seen until this posiiton .* # rest of the line $ # end of line // (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |