小编msa*_*lge的帖子

Regex Golf:在最后一个"/"之后切掉一切

这个问题纯粹是化妆的:

我想在给定字符串的最后一个"/"之后删除所有文本.所以如果输入是

mkdir -p $DEST/Users/Peter/Dropbox/Public/Vacation/P1000891.jpg
Run Code Online (Sandbox Code Playgroud)

输出应该是

mkdir -p $DEST/Users/Peter/Dropbox/Public/Vacation/
Run Code Online (Sandbox Code Playgroud)

(确切地说,输出中是否包含最后一个"/"并不重要.)

我发现了各种方法,例如:

my @templist = split "/", 'mkdir -p $DEST/Users/Peter/Dropbox/Public/Vacation/P1000891.jpg';
print join "/", splice(@templist, 0, -1);
Run Code Online (Sandbox Code Playgroud)

要么:

my ($a) = 'mkdir -p $DEST/Users/Peter/Dropbox/Public/Vacation/P1000891.jpg' =~ /(.*\/)+(?:[^\/]+)/;
print $a;
Run Code Online (Sandbox Code Playgroud)

但我认为这应该只使用正则表达式,也许搜索和替换可以实现?也许有先见之明?

regex perl

2
推荐指数
1
解决办法
3956
查看次数

标签 统计

perl ×1

regex ×1