You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用简洁Perl正则将多正斜杠合并为单斜杠并去除末尾斜杠

简洁处理路径中的多正斜杠

你需要合并路径中连续的正斜杠为单个,并移除末尾的斜杠,完全不用写循环,Perl的正则表达式可以轻松搞定:

实现代码

use strict;
use warnings;

my $workdir = '//dir1///dir2/////dir3///dir4///';
print "原路径: $workdir\n";

# 1. 全局替换所有连续正斜杠为单个斜杠
$workdir =~ s/\/+/\//g;
# 2. 移除字符串末尾的斜杠
$workdir =~ s/\/$//;

print "处理后路径: $workdir\n";

代码说明

  • s/\/+/\//g:\/+匹配一个或多个连续的正斜杠,g修饰符确保全局替换所有符合条件的位置,一次就能完成所有连续斜杠的合并,替代了原来的循环逻辑。
  • s/\/$//:经过第一步处理后,末尾最多只剩一个斜杠,这个正则直接匹配字符串结尾的斜杠并移除,一次替换即可完成收尾。

更紧凑的写法

如果追求代码简洁,也可以把两步合并成一行:

$workdir =~ s/\/+/\//g =~ s/\/$//;

内容的提问来源于stack exchange,提问作者Chazg76

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 09:47:14