perl uc,lc,ucfirst,lcfirst大小寫轉(zhuǎn)換函數(shù)
大小寫字母轉(zhuǎn)換:
函數(shù) uc (uppercase) 將所有的小寫字母轉(zhuǎn)成大寫;
函數(shù) lc (lowercase) 將所有的大寫字母轉(zhuǎn)成小寫;
Perl提供了四個內(nèi)置的函數(shù)類,從而能夠輕松地改變字符和字的大小寫。函數(shù)uc()會用大寫返回其所有的參數(shù),而lc()會用小寫返回其參數(shù)。如果沒有指定參數(shù)的話,uc()和lc()都會對$_變量進(jìn)行操作。
要改變字的首字母的大小寫,就要使用ucfirst()和lcfirst()。和uc()以及l(fā)c()類似,如果沒有指定參數(shù),ucfirst()和lcfirst()會對$_變量進(jìn)行操作。
這四個函數(shù)都不會改變其參數(shù);它們只是會返回其參數(shù)的副本,而這個副本經(jīng)過了改變。所以,你必須將結(jié)果分派給一個變量或者打印它,或者用其他的方式使用返回的值。像下面這樣做是一個常見的錯誤:
$a = 'hello'; uc($a); print $a;
第一眼看上去,你可能會預(yù)計這段代碼將打印“HELLO”。但是,由于uc()沒有更改其參數(shù),所以它的結(jié)果只打印了小寫的“hello”。要獲得預(yù)期的結(jié)果,就要使用像下面這樣的代碼:
$a = 'hello'; $a = uc($a); print $a;
更改字的大小寫的另一種方式,是對雙引號里面的字符串使用/L和/U逸出序列。使用下面的代碼你可以獲得與前面相同的結(jié)果:
$a = 'hello'; print "/U$a/E";
逸出字符/E會結(jié)束前面逸出字符(在這里是/U)開始的內(nèi)容。
利用Perl內(nèi)置的大寫和小寫函數(shù),以及雙引號里的逸出字符/U和/L,改變(字符的)大小寫是很容易的。
單詞首字母大寫
$str =~ s/(\w+)/\u$1/
在perl中,我們可以通過uc,lc,\U,\L來修改變量的大小寫。其中uc,\U是將變量中的字母全部轉(zhuǎn)換為大寫,對應(yīng)的lc和 \L是將變量中的字母全部轉(zhuǎn)換為小寫。如果我們只想將變量的首字母大寫或?qū)⒆兞康氖鬃帜感?,我們可以使用perl提供給我們的另外兩個函數(shù) ucfirst和lcfirst來實現(xiàn),下面我們來看一個具體的例子:
#! /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";
上面的這個程序打印的結(jié)果如下:
hello
HELLO
hello
HELLo
hello
Hello
hello
這篇到這就結(jié)束了,本站小編特為大家整理了好幾篇文章,希望以后大家多多支持本站。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信