五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

Perl刪除前導(dǎo)和拖尾空白(刪除左右空格、空白字符)

發(fā)布日期:2021-12-31 00:06 | 文章來(lái)源:腳本之家

其它一些編程語(yǔ)言中,有函數(shù)ltrim和rtrim分別用于從字符串開(kāi)頭和末尾刪除空格和制表符。 也有的提供了函數(shù)trim來(lái)刪除字符串兩端的空白字符。Perl里沒(méi)這些函數(shù)因?yàn)楹?jiǎn)單的正則表達(dá)式替換就能實(shí)現(xiàn)這個(gè)目的(不過(guò)我確信CPAN有很多模塊實(shí)現(xiàn)了這些函數(shù))。事實(shí)上這太簡(jiǎn)單了以至于成了帕金森瑣碎定理里的一個(gè)顯著主題。

左側(cè)整理

ltrim或者lstrip從字符串左側(cè)刪除空白字符:

復(fù)制代碼 代碼如下:

$str =~ s/^\s+//;

從字符串開(kāi)頭^開(kāi)始匹配一個(gè)或者多個(gè)空白字符(\s+),并將之替換成空字符。

右側(cè)整理

rtrim或者rstrip從字符串右側(cè)刪除空白字符:

復(fù)制代碼 代碼如下:

$str =~ s/\s+$//;

匹配一個(gè)或者多個(gè)空白字符(\s+)直到字符串末尾($),并將之替換成空字符。

整理兩端

trim刪除字符串兩端的空白字符:

復(fù)制代碼 代碼如下:

$str =~ s/^\s+|\s+$//g

將上面兩個(gè)正則表達(dá)式用或記號(hào)|連起來(lái),并在最后增加/g用以全局地執(zhí)行替換操作(反復(fù)多次)。

封裝在函數(shù)里

如果你不想在代碼中看到這些結(jié)構(gòu),你可以在代碼里添加這些函數(shù):

復(fù)制代碼 代碼如下:

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 };

使用時(shí)像這樣:
復(fù)制代碼 代碼如下:

my $z = " abc ";
printf "<%s>\n", trim($z); # <abc>
printf "<%s>\n", ltrim($z); # <abc >
printf "<%s>\n", rtrim($z); # < abc>
String::Util

String::Util

要是實(shí)在不想拷貝那些東西,你可以安裝一個(gè)模塊。

例如String::Util提供了函數(shù)trim,你可以如下使用:

復(fù)制代碼 代碼如下:

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>


默認(rèn)它整理兩側(cè),你不需要提供參數(shù)。 我覺(jué)得,自己實(shí)現(xiàn)ltrim和rtrim會(huì)清晰些。

Text::Trim

另一個(gè)模塊Text::Trim提供了3個(gè)函數(shù),但是它極度采納了Perl風(fēng)格的寫(xiě)法,可能到了有些危險(xiǎn)的地步。

如果你調(diào)用它并將返回值用在print語(yǔ)句或者賦給一個(gè)變量,它會(huì)返回整理過(guò)的字符串,并保持原始字符串不變。

復(fù)制代碼 代碼如下:

use Text::Trim qw(trim);

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


另一方面,如果你在空白上下文調(diào)用它,亦即不使用返回值,trim函數(shù)就會(huì)修改參數(shù),產(chǎn)生類似chomp的行為。
復(fù)制代碼 代碼如下:

use Text::Trim qw(trim);

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

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部