麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Perl > 正文

perl中的字符串操作函數chomp與chop介紹

2020-10-31 15:05:07
字體:
來源:轉載
供稿:網友

chomp與chop都是用于去除字符串變量尾部的字符,但它們有各自的區別。

chomp函數對變量起作用,而此變量含有字符串。如果字符串結尾有換行符,chomp可以去掉它。這基本上就是它能完成的所有功能,如下例:

復制代碼 代碼如下:

$text="alineoftext/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。這種情況在一次讀入一行時不會發生,但使用了輸入分隔符(input  separator)($/)(其不為換行符(/n)),read 函數,或者將一些字符串結合起來就有可能發生。

在編寫Perl程序代碼的時候,也許你會有時會用chop() 函數來去掉<>輸入的換行符"/n",有時候使用chomp() 函數。其實上面的用法都可以達到預期的效果,但它們也有細微的差別。
 
chop()函數,只是去除最后一個字符。
chomp()函數,就要首先判斷最后一個字符是不是為"/n",它才去除。

chop函數會砍掉字符串變量的最后一個字符,并返回砍掉的字符,chop函數不管字符串里是什么都會剪短它,而chomp函數則更有選擇性一些。不能chop直接量,只能chop變量。
用法:

復制代碼 代碼如下:

chop VARIABLE
chop LIST
chop

例子:
如果chop一列LIST變量,那么列表中的每個字符串都會被剪短:
復制代碼 代碼如下:

@lines=`cat myfile`;
chop @lines;

在最常見的情況下,chop可以用substr來表示:
復制代碼 代碼如下:

$last_char = chop($var);
$last_char = substr($var, -1, 1, ""); # 同上

再來看下面的完整的例子:
復制代碼 代碼如下:

#!/usr/bin/perl
$string1 = "This is test";
$retval  = chop( $string1 );
print " Choped String is : $string1/n";
print " Character removed : $retval/n";

結果:
復制代碼 代碼如下:

Choped String is : This is tes
Number of characters removed : t

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 看91| 欧美视频国产 | 日韩视频在线观看免费视频 | 深夜视频在线观看 | 国产欧美精品一区二区三区四区 | 欧美wwwwww | 色婷婷久久久亚洲一区二区三区 | 欧美久久久久久久久 | av中文在线观看 | 久久久久亚洲精品 | 精品国产一区二区三区免费 | 亚洲第一男人天堂 | 久夜草 | 国产高潮失禁喷水爽到抽搐视频 | 性爱视频免费 | 国产一级不卡毛片 | 日本一区二区高清不卡 | 精品xxxx户外露出视频 | 一区二区三区黄色 | 中文字幕 亚洲一区 | 久久午夜免费视频 | javhdfreejaⅴhd | 一本色道精品久久一区二区三区 | 亚洲精品成人久久久 | 国内精品久久久久久久久久久久 | 午夜视频福利 | 日本欧美一区二区三区在线观看 | 暴力肉体进入hdxxxx古装 | 国产精品www | 4399一级成人毛片 | 国产精品久久久久久影院8一贰佰 | 国产精品一区2区3区 | 久久久久久久久成人 | 日韩精品一二三 | 欧美激情在线播放 | 91短视频在线 | asian gaysex| 中国fx性欧美xxxx | 国产一区二区在线观看视频 | 一级α片免费看刺激高潮视频 | 黄色毛片a级 |