Perl字串處理
文章推薦指數: 80 %
print "金",$v1; print $str,"\n\n";. '.'運算子和','類似,也是Perl字串相加 ...
International-English
International
English
Country/Site
中国站-简体中文
Cart
Console
LogInSignUp
TopicCenter
About
Products
Solutions
Pricing
Marketplace
Partners
ContactSales
Submit
首頁>
開發者>
Perl
Perl字串處理
最後更新:2018-12-04
來源:互聯網
上載者:User
創建阿里雲帳戶,並獲得超過40款產品的免費試用版;而企業帳戶則可以享有總值$1200的免費試用版。
立即註冊!
眾所周知Perl處理字串的功能非常強大,Perl(PracticalExtractionandReportinglanguage)處理格式的功能也非常強大,這裡我們就開始學習一些Perl的格式和字串處理。
熟悉其最強大的三個函數:substr、pack、unpack。
1、大小寫處理函數lc(轉為小寫)uc(轉為大寫)。
$text="zhengwenfeng";$text2=lc$text;$text3=uc$text;print"$text2\n";print"$text3\n";
2、將第一字母變為小寫(lcfirst),將第一個字母大寫(ucfirst)。
$string="zheng";$string2=lcfirst$string;$string3=ucfirst$string;print"$string2\n";print"$string3\n";
3、順序尋找string位置(index),逆序尋找string位置(rindex)。
index在字串中找尋某一子字串的起始位置。
$string="zhengwenfengzhengwenfeng";$position1=index($string,"wen");$position2=index($string,"wen",10);$position3=rindex($string,"zheng");$position4=rindex($string,"zheng",10);print"$position1,$position2,$position3,$position4\n";
#!/usr/bin/Perl$str="ABCDEFG1234567";$a="12";$pos=index($str,$a);print$pos,"\n";
[hto@localhost]$./tipind.pl7
4、擷取子串函數substr,功能非常強大,可以直接支援以一個字串代替字串的一個子串。
$text="zhengwenfeng愛KittyKitty";$replace_to="愛";$replace_with="喜歡";substr($text,index($text,$replace_to),length($replace_to),$replace_with);print"$text\n";
5、字串中取串長(字元數量)-length#!/usr/bin/Perl$str="abCD99e";$strlen=length($str);print$strlen,"\n";[htog@localhost]$./tiplen.pl7
8、pack和unpack函數用於字串的打包和解包,功能非常強大,支援多種打包格式字串處理的。
$decimal=17;$newdecimal=unpack("B32",pack("N",$decimal));print"$newdecimal\n";$string="張大華愛中國";@array1=unpack("c*",$string);@array2=unpack("C*",$string);print(join(",",@array1),"\n");print(join(",",@array2),"\n");$string1=pack("c*",@array1);$string2=pack("C*",@array2);print"$string1\n";print"$string2\n";
9、列印格式-sprintf$value=1234.56789;printsprintf"%.4f\n",$value;
10、字串比較函數eq、ne、cmp、lt、gt、le、ge,使用cmp就好。
絕不能用'==',要用eq,正確的做法是:不論整形Perl字串,都用eq。
$string1="大華";$string2="大華";if($string1eq$string2){print"$sting1==$string2\n";}if($string1ne$string2){print"$string1!=$string2\n";}
if(($string1cmp$string2)==0){print"$string1==$string2\n";}
$string1="zheng";$string2="Kitty";if($string1lt$string2){print"left
#!/usr/bin/Perl$str="ABCDEiFG12i34567";@array=split(//,$str);按空格分foreach(@array){print$_,"\n";}
[hto@localhost]$./tip.plABCDEiFG12i34567
@array=split(/+/,$line);當一行中各單詞間的空格多於一個時。
空格和TAB混雜情況下的split[hto@localhost]$vitip.pl
#!/usr/bin/Perl$str="ABCDEiFG12i34567";@array=split(/\t/,$str);foreach(@array){print$_,"\n";}
[hto@localhost]$./tip.plABCDEiFG12i34567
只分了兩份,為什嗎?因為同時滿足TAB和空格的只有一處,所以必須加[]。
@array=split(/[\t]/,$str);現在才是真正的按空格和TAB分
[hto@localhost]$./tip.plABCDEiFG12i
34567
但還是有缺陷,TAB和空格相連時,TAB被認為是空格劃分的子串,或者空格被認為是TAB劃分的子串。
$string="張大華愛中國";@array=split(//,$string);#這種方法無法將其進行分成"張","大","華","愛","中","國"等單字print(join(",",@array),"\n");
12、示範中文字元夾帶英文字元的反序(使用了多個函數)print"------begin-----\n";$string1="中國love!張大華";@array=unpack("C*",$string1);$length=$#array;#此數組的最後一個下標for(;$length>=0;){if($array[$length]<=128){#英文或者標點push(@array2,$array[$length]);$length=$length-1;}else{#中文字元push(@array2,$array[$length-1]);push(@array2,$array[$length]);$length=$length-2;}}
$string2=pack("C*",@array2);print"$string2\n";$dir=dir;printqx/$dir/;@name=qw/zhengwenfengKittyKitty/;printjoin(",",@name);
13、字元合併作業-join用join定義Perl字串數組格式符號(預設)必須與qw()合用。
文法:join($string,@array)@array=qw(onetwothree);$total="one,two,three";@array=qw(onetwothree);$total=join(":",@array);$total="one:two:three";
14、匹配數組內元素字串-grep@array=("one","on","in");$count=grep(/on/,@array);查詢結果賦值給單變數@array=("one","on","in");@result=grep(/on/,@array);查詢結果賦值給數組2oneon
15、字串串連-'.='關於perl字串串連的方法討論。
$line=$line."456";這個語句中,line要被計算兩次。
$line.="456";運算子',',常用於輸出:print"金",$v1;print$str,"\n\n";
'.'運算子和','類似,也是Perl字串相加但通常只用於print而'.'可以用在任何Perl字串相加的地方。
print'12345大家來'."helloworld";結果變成:12345大家來helloworld
16、重複串連運算子號-xprint"OK"x4;結果變成:OKOKOKOK這個計算一次就可以了。
Perl字串的串連可以串連整形和字元形,整形也被當作字元型處理,沒有printf裡的%d問題。
17、雙引號字串中的轉義符符號 含義\n 換行\r 斷行符號\t 定位字元\f formfeed\b 退格\a 響鈴\e escape(ASCII中的escape字元)\007 任何八進位值(這裡是,007=bell(響鈴))\x7f 任何十進位值(這裡是,007=bell)\cC 一個控制符(這裡是,ctrl+c)\\ 反斜線\" 雙引號\l 下個字元小寫\L 接著的字元均為小寫直到\E\u 下個字元大寫\U 接著的字元均為大寫直到\E\Q 在non-word字元前加上\,直到\E\E 結束\L,\E和\Q
本文章原先以中文撰寫並發佈於aliyun.com,亦設英文版本,僅作資訊用途。
本網站不對文章的準確性,完整性或可靠性或其任何翻譯作出任何明示或暗示的陳述或保證。
如對該文章有任何疑慮或投訴,請傳送電郵至[email protected]並提供相關疑慮或投訴的詳細說明。
職員會於5個工作天內與您聯絡,一經驗證之後,即會刪除該侵權內容。
相關關鍵詞:
curlperl
chopperl
localtimeperl
perlassert
perlchmod
perlchr
perlcmd
Perl中use和require用法對比分析_perl
01-18
Perl變數的作用my,our,local和全域變數_Perl
08-21
Perl語言中的$_和@_
08-23
perl中chomp的使用介紹(chop和chomp函數區別)
12-08
Perlsplit字串分割函數用法指南
12-08
perl文本輸出對齊
12-06
/
LearnMoreBuyNow
/
LearnMoreBuyNow
/
LearnMoreBuyNow
聯繫我們
該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。
如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至:
[email protected]
進行舉報並提供相關證據,工作人員會在5個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。
熱門內容
Perlsplit字串分割函數用法指南
Perl中use和require用法對比分析_perl
Perl變數的作用my,our,local和全域變數_Perl
perl中chomp的使用介紹(chop和chomp函數區別)
perl文本輸出對齊
Perl語言中的$_和@_
perlpush的用法及子程式傳回值的反思
Perl語言及其優缺點簡介
Perl變數:陣列變數
perl中seek函數的用法
熱門主題
ECS鏡像
RDS索引優化
RDS分區索引
雲上的資料移轉
Web漏洞防護
物理專線
線上與離線資料分離
Kubernetes叢集
AFreeTrialThatLetsYouBuildBig!
Startbuildingwith50+productsandupto12monthsusageforElasticComputeService
GetStartedforFree
SalesSupport
1on1presaleconsultation
Chat
ContactSales
After-SalesSupport
24/7TechnicalSupport
6FreeTicketsperQuarter
FasterResponse
OpenaTicket
AlibabaCloudoffershighlyflexiblesupportservicestailoredtomeetyourexactneeds.
LearnMore
Acomprehensivesuiteofglobalcloudcomputingservicestopoweryourbusiness
PaymentMethodsWeSupport
About
About
AboutAlibabaCloud
PricingModels
Products
Customers
Partners
Startups
ApsaraConference
AlibabaCloudSummit
Promotions
Promotions
FreeTrial
StarterPackage
SimpleApplicationServer
AffiliateProgram
Explore
Explore
Technology
KnowledgeBase
ChinaGateway
ICPLicenseSupport
GettingStarted
Blog
Marketplace
Training&Certification
Support
Support
ContactSales
SubmitaTicket
After-SalesSupport
ReportAbuse
Feedback
Forum
PricingCalculator
Resources
Resources
DocumentationCenter
AlibabaCloudMVP
Security&Compliance
PressRoom
WHOIS
SiteMap
Products&Solutions
ElasticComputeService
CDN
Anti-DDoS
ObjectStorageService
eCommerce
WebHosting
Security
HotContent
JapanSite
ECSDocumentation
HowtogetDomains
SoftwareInfrastructure
LearningPath
NewUsers
Recommended
TopicCenter
CloudComputing
Industries
Developers
WebDeveloping
Tutorials
PHPTutorials
BrowsebyLetter
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
0-9
Careers
AboutUs
PrivacyPolicy
Legal
NoticeList
Links
AlibabaGroup
TaobaoMarketplace
Tmall
Juhuasuan
AliExpress
Alibaba.com
1688
Alimama
Fliggy
YunOS
AliTelecom
Amap
UCWeb
Umeng
Xiami
DingTalk
Alipay
©2009-2022CopyrightbyAlibabaCloudAllrightsreserved
//intl.aliyun.com
//intl.aliyun.com/why-alibaba-cloud
//intl.aliyun.com/product
//intl.aliyun.com/solution
//intl.aliyun.com/chinaconnect
//intl.aliyun.com/icp
//intl.aliyun.com/pricing
//intl.aliyun.com/trust-center
//intl.aliyun.com/free-trial/enterprise
//intl.aliyun.com/startup
//intl.aliyun.com/partner
0.0.9homon:page_57074_9135018350_Uscv9dq6oXpK
延伸文章資訊
- 1Perl字符串用法
本文概述Perl字符串运算符Perl串联运算符Perl重复运算符Perl substr()示例Perl ... 替换一个字符串Perl在字符串中找到匹配项, =〜 Perl连接两个字符串(。
- 22-2 純量:字串
在Perl 中,大部分的字串都用雙引號(Double Quote)來界定,而在雙引號中的變數, ... 運算,其結果為數值10,Perl 會將數值10 轉成字串"10",再進行字串連接的動作。
- 3perl如何做字符串连接呢? - CSDN社区
$string="$test-$test2-$test3";. 打赏; 举报. 回复 赞.
- 4PERL里用逗号连接字符串和用.点号连接字符串有什么区别吗
$string = $string1,$string2, print $string,"\n"; $string = $string1.$string2, print $string; 结果: ...
- 5Perl 字符串 - 极客教程
连接 · 重复 · 获取子串– substr() 函数 · 在Perl – length() 函数中查找字符串的长度 · Perl 中的字符串比较 · 评论抢沙发 · 评论前必须登录!