perl uc,lc,ucfirst,lcfirst大小寫(xiě)轉(zhuǎn)換函數(shù)
大小寫(xiě)字母轉(zhuǎn)換:
函數(shù) uc
(uppercase) 將所有的小寫(xiě)字母轉(zhuǎn)成大寫(xiě);
函數(shù) lc
(lowercase) 將所有的大寫(xiě)字母轉(zhuǎn)成小寫(xiě);
Perl提供了四個(gè)內(nèi)置的函數(shù)類,從而能夠輕松地改變字符和字的大小寫(xiě)。函數(shù)uc()會(huì)用大寫(xiě)返回其所有的參數(shù),而lc()會(huì)用小寫(xiě)返回其參數(shù)。如果沒(méi)有指定參數(shù)的話,uc()和lc()都會(huì)對(duì)$_變量進(jìn)行操作。
要改變字的首字母的大小寫(xiě),就要使用ucfirst()和lcfirst()。和uc()以及l(fā)c()類似,如果沒(méi)有指定參數(shù),ucfirst()和lcfirst()會(huì)對(duì)$_變量進(jìn)行操作。
這四個(gè)函數(shù)都不會(huì)改變其參數(shù);它們只是會(huì)返回其參數(shù)的副本,而這個(gè)副本經(jīng)過(guò)了改變。所以,你必須將結(jié)果分派給一個(gè)變量或者打印它,或者用其他的方式使用返回的值。像下面這樣做是一個(gè)常見(jiàn)的錯(cuò)誤:
$a = 'hello'; uc($a); print $a;
第一眼看上去,你可能會(huì)預(yù)計(jì)這段代碼將打印“HELLO”。但是,由于uc()沒(méi)有更改其參數(shù),所以它的結(jié)果只打印了小寫(xiě)的“hello”。要獲得預(yù)期的結(jié)果,就要使用像下面這樣的代碼:
$a = 'hello'; $a = uc($a); print $a;
更改字的大小寫(xiě)的另一種方式,是對(duì)雙引號(hào)里面的字符串使用/L和/U逸出序列。使用下面的代碼你可以獲得與前面相同的結(jié)果:
$a = 'hello'; print "/U$a/E";
逸出字符/E會(huì)結(jié)束前面逸出字符(在這里是/U)開(kāi)始的內(nèi)容。
利用Perl內(nèi)置的大寫(xiě)和小寫(xiě)函數(shù),以及雙引號(hào)里的逸出字符/U和/L,改變(字符的)大小寫(xiě)是很容易的。
單詞首字母大寫(xiě)
$str =~ s/(\w+)/\u$1/
在perl中,我們可以通過(guò)uc,lc,\U,\L來(lái)修改變量的大小寫(xiě)。其中uc,\U是將變量中的字母全部轉(zhuǎn)換為大寫(xiě),對(duì)應(yīng)的lc和 \L是將變量中的字母全部轉(zhuǎn)換為小寫(xiě)。如果我們只想將變量的首字母大寫(xiě)或?qū)⒆兞康氖鬃帜感?xiě),我們可以使用perl提供給我們的另外兩個(gè)函數(shù) ucfirst和lcfirst來(lái)實(shí)現(xiàn),下面我們來(lái)看一個(gè)具體的例子:
#! /usr/bin/perl use strict; use warnings; my $little = "hello"; print "little:$little\n"; my $big = uc($little); print "big:$big"; $little = lc($big); print "little:$little\n"; $big = "\U$little"; print "big:$little"; $little = "\l$big"; print "little:$little\n"; $big = ucfirst($little); print "big:$little\n"; $little = lcfirst($big); print "little:$big\n";
上面的這個(gè)程序打印的結(jié)果如下:
hello
HELLO
hello
HELLo
hello
Hello
hello
這篇到這就結(jié)束了,腳本之家小編特為大家整理了好幾篇文章,希望以后大家多多支持腳本之家。
相關(guān)文章
Perl實(shí)現(xiàn)的Linux下socket代理服務(wù)器
這篇文章主要介紹了Perl實(shí)現(xiàn)的Linux下socket代理服務(wù)器,比較簡(jiǎn)潔的一個(gè)版本,需要的朋友可以參考下2014-08-08perl 讀取所需文件的路徑,然后打開(kāi)相應(yīng)的文件
perl,讀取所需文件的路徑,然后打開(kāi)相應(yīng)的文件,并對(duì)文件中的DNA序列進(jìn)行計(jì)數(shù),substr函數(shù)對(duì)長(zhǎng)字符串的片段化處理功能2013-03-03兩段Perl腳本代碼(數(shù)組應(yīng)用與say用法)
兩段Perl代碼(數(shù)組應(yīng)用與say用法),供大家學(xué)習(xí)參考2013-02-02Perl中使用MIME::Lite發(fā)送郵件實(shí)例
這篇文章主要介紹了Perl中使用MIME::Lite發(fā)送郵件實(shí)例,本文介紹了使用sendmail方式發(fā)送、發(fā)送HTML格式郵件、smtp方式發(fā)送郵件等內(nèi)容,需要的朋友可以參考下2014-09-09Perl中的控制結(jié)構(gòu)學(xué)習(xí)筆記
這篇文章主要介紹了Perl中的控制結(jié)構(gòu)學(xué)習(xí)筆記,本文講解了條件判斷、循環(huán)語(yǔ)句、單行條件等內(nèi)容,需要的朋友可以參考下2015-02-02Perl中的控制結(jié)構(gòu)學(xué)習(xí)筆記
這篇文章主要介紹了Perl中的控制結(jié)構(gòu)學(xué)習(xí)筆記,本文講解了條件語(yǔ)句if、條件語(yǔ)句unless、循環(huán)語(yǔ)句while、循環(huán)語(yǔ)句until、for循環(huán)、foreach語(yǔ)句、循環(huán)控制等內(nèi)容,需要的朋友可以參考下2014-11-11