当前位置: 代码网 > it编程>网页制作>Perl > Perl删除前导和拖尾空白(删除左右空格、空白字符)

Perl删除前导和拖尾空白(删除左右空格、空白字符)

2024年05月15日 Perl 我要评论
其它一些编程语言中,有函数ltrim和rtrim分别用于从字符串开头和末尾删除空格和制表符。 也有的提供了函数trim来删除字符串两端的空白字符。perl里没这些函数因为简单的正则表达式替换就能实现这

其它一些编程语言中,有函数ltrim和rtrim分别用于从字符串开头和末尾删除空格和制表符。 也有的提供了函数trim来删除字符串两端的空白字符。perl里没这些函数因为简单的正则表达式替换就能实现这个目的(不过我确信cpan有很多模块实现了这些函数)。事实上这太简单了以至于成了帕金森琐碎定理里的一个显著主题。

左侧整理

ltrim或者lstrip从字符串左侧删除空白字符:

从字符串开头^开始匹配一个或者多个空白字符(\s+),并将之替换成空字符。

右侧整理

rtrim或者rstrip从字符串右侧删除空白字符:

匹配一个或者多个空白字符(\s+)直到字符串末尾($),并将之替换成空字符。

整理两端

trim删除字符串两端的空白字符:

将上面两个正则表达式用或记号|连起来,并在最后增加/g用以全局地执行替换操作(反复多次)。

封装在函数里

如果你不想在代码中看到这些结构,你可以在代码里添加这些函数:

使用时像这样:

string::util

要是实在不想拷贝那些东西,你可以安装一个模块。

例如string::util提供了函数trim,你可以如下使用:

默认它整理两侧,你不需要提供参数。 我觉得,自己实现ltrim和rtrim会清晰些。

text::trim

另一个模块text::trim提供了3个函数,但是它极度采纳了perl风格的写法,可能到了有些危险的地步。

如果你调用它并将返回值用在print语句或者赋给一个变量,它会返回整理过的字符串,并保持原始字符串不变。

另一方面,如果你在空白上下文调用它,亦即不使用返回值,trim函数就会修改参数,产生类似chomp的行为。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com