chomp 与chop
在预读Perl程序代码的时候,也许你会发现Coder有时会用chop()函数来去掉<>输入的换行符"/n",有时候使用chomp()函数。
其实上面的用法都可以达到预期的效果,但它们也有细微的差别。
chop()函数,只是去除最后一个字符。
chomp()函数,就要首先判断最后一个字符是不是为"/n",他才去除。
如果字符串结尾有换行符,chomp 可以去掉它。这基本上就是它能完成的所有功能,如下例:
$text = “a line of text/n”; #也可以由<STDIN>输入
chomp($text); #去掉换行符(/n)。
它非常有用,基本上你的每一个程序都会用到它。如你将知道,这是将字符串末尾换行符去掉的最好方法。基于Perl 中的一条基本原则:在需要使用变量的地方,可以使用赋值表达式来代替。我们有更简单的使用chomp 的方法。Perl 首先做赋值运算,再使用这个变量。因此使用chomp 的最常用方法是:
chomp ($text = <STDIN>); #读入,但不含换行符
$text = <STDIN>;
chomp ($text); #同上,但用两步完成
第一眼见到时,第一种组合的方法看起来复杂些。如果把上述其看成两步操作,读一行再chomp,那写成两个语句的方法
看起来自然些。如果将其看作一个操作,读入一行但不包括换行符,那写成一个语句的方法更恰当。由于绝大多数Perl 程序员使用第一种写法,你也应该使用它。
chomp 是一个函数。作为一个函数,它有一个返回值,为移除的字符的个数。这个数字基本上没什么用:
$food = <STDIN>;
$betty = chomp $food; #得到值1
如上,在使用chomp 时,可以使用或不使用括号()。这又是Perl 中的一条通用规则:除非移除它们时含义会变,否则括号是可以省略的。
如果结尾有两个或两个以上的换行符,chomp 仅去掉一个。如果没有,那什么也不做,返回0。
chomp 与chop相关推荐
- perl 字符串删除末尾几个字符_perl中的字符串操作函数chomp与chop介绍
chomp与chop都是用于去除字符串变量尾部的字符,但它们有各自的区别. chomp函数对变量起作用,而此变量含有字符串.如果字符串结尾有换行符,chomp可以去掉它.这基本上就是它能完成的所有功能 ...
- Perl中chomp和chop
chomp是用来删除换行符,chop是用来删除最后一个字符. chomp是用来删除换行符. 复制代码 代码如下: #!/usr/bin/perl $c="abcde"; cho ...
- [Perl]Perl中chomp和chop的区别介绍
Perl中chomp和chop的区别介绍 一.chomp是用来删除换行符. #!/usr/bin/perl $c = "abcde\n"; chomp($c); print(&qu ...
- ruby学习笔记(2)-chomp,chop的区别
还没开始系统性的学习Ruby,最近在看metasploit框架的exploit会涉及到Ruby脚本,也就硬着头皮一遍查阅资料一遍做些笔记吧. Ruby字符串中存在chop和chomp的内置函数.我在h ...
- chomp 跟 chop
chomp: 1.去除从标准输入进来的变量中的换行符 chomp ($food=<STDIN>) 或 $food=<STDIN>; $betty = chomp ($food ...
- Perl中chomp和chop的用法和区别介绍
一.chomp是用来删除换行符. 代码: #!/usr/bin/perl $ a = "abcdef\n"; chomp($a); print $a; 结果: [briup@loc ...
- chomp和chop用法
1.chomp的用法: 它对变量起作用,而此变量含有字符串.如果字符串结尾有换行符,chomp 可以去掉它.这基本上就是它能完成的所有功能,如下例: $text="alineoftext\n ...
- php chomp,php chop函数是什么意思
php chop函数是rtrim函数的别名,意思为删除字符串右边的空格或其他预定义字符,并返回修改后的字符串:语法是chop(string,charlist),string参数指定处理的字符串,cha ...
- Ruby中的chop和chomp用法辨析
还没开始系统性的学习Ruby,最近在看metasploit框架的exploit会涉及到Ruby脚本,也就硬着头皮一遍查阅资料一遍做些笔记吧. Ruby字符串中存在chop和chomp的内置函数.我在h ...
最新文章
- 【文本分类】混合CHI和MI的改进文本特征选择方法
- 【WPF】 打开本地的文件或者文件夹
- linux 中php以及nginx的重启命令
- queued frame 造成图形性能卡顿
- h5精准定位_HTML5 地理定位
- jupyter lab插件无法打开,且报错Error: 500 (Internal Server Error)
- 打开新经济大门 淘宝直播如何打造最有价值的直播平台?
- CoreAnimation-Layer详解
- jq 如何获取和当然元素相同类名的标签_JS/JQ基于localStorage的本地数据储存指南...
- 身份证验证Java代码
- php excel 高度,PHPExcel,自动调整行高
- 电脑常见问题:能打开QQ但不能打开网页(DNS问题)
- python3读取键盘输入_Python读取键盘输入
- macd java_macdev/java.md at master · pubyun/macdev · GitHub
- STM32在线烧录程序的开发
- 检查凭证录入模板的核算项目研发项目是否录入
- java访问服务器中的文件,java 访问远程服务器文件
- EPD服务器主机分销V2.8系统网站源码
- 路径中 斜杠/和反斜杠\ 的区别
- 电子作业票如何实现特殊作业全过程信息化管理