• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >perl > Perl删除前导和拖尾空白(删除左右空格、空白字符)

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

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了前导空白,perl语言编程实例,index perl,perl语言入门,perl等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

左侧整理

ltrim或者lstrip从字符串左侧删除空白字符:
$str =~ s/^\s+//;
</div>
从字符串开头^开始匹配一个或者多个空白字符(\s+),并将之替换成空字符。

右侧整理

rtrim或者rstrip从字符串右侧删除空白字符:
$str =~ s/\s+$//;
</div>
匹配一个或者多个空白字符(\s+)直到字符串末尾($),并将之替换成空字符。

整理两端

trim删除字符串两端的空白字符:
$str =~ s/^\s+|\s+$//g
</div>
将上面两个正则表达式用或记号|连起来,并在最后增加/g用以全局地执行替换操作(反复多次)。

封装在函数里

如果你不想在代码中看到这些结构,你可以在代码里添加这些函数:
sub ltrim { my $s = shift; $s =~ s/^\s+//;       return $s };
sub rtrim { my $s = shift; $s =~ s/\s+$//;       return $s };
sub  trim { my $s = shift; $s =~ s/^\s+|\s+$//g; return $s };
</div>
使用时像这样:
my $z = " abc ";
printf "<%s>\n", trim($z);   # <abc>
printf "<%s>\n", ltrim($z);  # <abc >
printf "<%s>\n", rtrim($z);  # < abc>
String::Util
</div>

String::Util

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

例如String::Util提供了函数trim,你可以如下使用:
use String::Util qw(trim);

my $z = " abc ";
printf "<%s>\n", trim( $z );              # <abc>
printf "<%s>\n", trim( $z, right => 0 );  # <abc >
printf "<%s>\n", trim( $z, left  => 0 );   # < abc>
</div>
默认它整理两侧,你不需要提供参数。 我觉得,自己实现ltrim和rtrim会清晰些。

Text::Trim

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

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

my $z = " abc ";
printf "<%s>\n", trim($z);  # <abc>
printf "<%s>\n", $z;       # < abc >
</div>
另一方面,如果你在空白上下文调用它,亦即不使用返回值,trim函数就会修改参数,产生类似chomp的行为。
use Text::Trim qw(trim);

my $z = " abc ";
trim $z;
printf "<%s>\n", $z;       # <abc>
</div>

</div>

您可能想查找下面的文章:

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

相关文章

  • Perl学习笔记之文件操作
  • perl控制流介绍(if条件,while,for循环,foreach)
  • Perl文件句柄详解
  • Perl调用shell命令方法小结
  • perl子程序的运用及子程序中变量私有(my)声明的重要性
  • 详细说明什么是Perl
  • perl用变量做句柄介绍
  • perl批量查询ip归属地的方法代码
  • Perl List::Util模块使用实例
  • perl去除重复内容的脚本代码(重复行+数组重复字段)

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Perl读写文件简单示例
    • perl中子程序中参数的两种引用(传递)方式介绍
    • 有关perl的内置特殊变量介绍
    • perl 文件测试操作符汇总
    • Perl数组排序学习笔记
    • Perl遍历目录和使用Linux命令分析日志的代码实例分享
    • 写了个perl的删除程序
    • Perl localtime时间函数的应用介绍
    • Perl 哈希的创建和引用介绍
    • perl 模块打包加入外部依赖程序

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有