加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 保持字符串的前两部分具有分隔符

发布时间: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
//

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读