偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Perl字符串基本操作詳解

開發(fā) 架構
本文向大家介紹一下Perl字符串的一些操作,Perl字符串在Perl語言中經常會用的,掌握它的一些基本操作對你的學習和使用都有好處。

本文和大家重點討論一下Perl字符串的一些基本操作,比如Perl字符串數組元素賦值:@tmp=qw(aaabbbkkk9000);相當于@tmp=(“aaa”,“bbb”,“kkk”,“9000)。至于其他操作請看本文詳細介紹。

Perl字符串操作

Perl字符串數組元素賦值:@tmp=qw(aaabbbkkk9000);相當于@tmp=(“aaa”,“bbb”,“kkk”,“9000);

◆Perl字符串比較,絕不能用==,要用eq
[macg@localhostPerltest]$vitip.pl

#!/usr/bin/Perl
print"input:";
while(chomp($input=<>)){
print"yourinputis$input\n";
if($input=="q"){print"chooseq\n";last;}
elsif($input=='n'){print"inputis$input\n";next;}
else{print"inputok,tryagain\n";}
print"input:";
}
[macg@localhostPerltest]$./tip.pl
input:x
yourinputisx
chooseq


◆Perl字符串用==是最常犯的錯誤

即使是整形,也盡量用eq,少用==
while(chomp($input=<STDIN>))
{
for($i=1,$found=0;$i<=$int_num;$i++)
{
if($input==$i){$found=1;}
else
Doyouwanttochangeeth0:2'sipaddress?回車

Argument""isn'tnumericinnumericeq(==)at./address.plline77,<STDIN>line2.
對整形變量$input==$i,如果$input是回車,并不走else,而是報錯

正確的做法是:不論整形Perl字符串,都用eq
while(chomp($input=<STDIN>))
{
for($i=1,$found=0;$i<=$int_num;$i++)
{
if($inputeq$i){$found=1;}
}
whichinterfaceyouwanttoconfig?choiceanumber1234q:1
Doyouwanttochangeeth0'sipaddress?


◆Perl字符串幾種連接運算符

運算符,常用于輸出
print"純金",$v1;
print$str,"\n\n";

.運算符和,類似也是Perl字符串相加但,通常只用于print而.可以用在任何Perl字符串相加的地方
print'12345大家來跳舞'."helloworld";
結果變成:
12345大家來跳舞helloworld

x運算符號
print"OK"x4;
結果變成:
OKOKOKOK


◆為什么Perl字符串相加只能用.不能用+

因為可能+就是真加了(數字相加),而不是Perl字符串合并
$v1=99;
$v2='121';

print$v1+$v2;
$v1=99;
$v2='121';

print$v2.$v1;
220
12199

◆Perl字符串的連接可以連接整形和字符形,整形也被當作字符型處理,沒有printf里的%d問題
$min=1;

$date="date"."0".$min;
print$date,"\n";

[root@ntrackermac]#./tip.pl
date01


uc轉成大寫,lc轉成小寫
$str="abCD99e";
$str=uc($str);
$str="abCD99e";
$str=lc($str);
[macg@localhostPerltest]$./tip.pl
ABCD99E
[macg@localhostPerltest]$./tip.pl
abcd99e                    #p#


◆Perl字符串中l(wèi)ength取串長(字符數量)
#!/usr/bin/Perl
$str="abCD99e";
$strlen=length($str);
print$strlen,"\n";
[macg@localhostPerltest]$./tip.pl
7

◆substr串,位置,長度-------取子串,注意從0開始數位置
#!/usr/bin/Perl
$str="ABCDEFG1234567";
$a=substr$str,0,5;
print$a,"\n";
[macg@localhostPerltest]$./tip.pl
ABCDE

$a=substr$str,-4,2;
從倒數第4個開始,取兩個字符
[macg@localhostPerltest]$./tip.pl
45


◆index在字串中找尋某一子字串的起始位置
#!/usr/bin/Perl
$str="ABCDEFG1234567";
$a="12";
$pos=index($str,$a);
print$pos,"\n";
[macg@localhostPerltest]$./tip.pl
7

@數組=split(pattern,串)將Perl字符串用某模式分成多個單詞
#!/usr/bin/Perl
$str="ABCDEiFG12i34567";
@array=split(//,$str);按空格分
foreach(@array){
print$_,"\n";
}
[macg@localhostPerltest]$./tip.pl
ABCDEi
FG12i
345
6
7

@array=split(/+/,$line);當一行中各單詞間的空格多于一個時


◆空格和TAB混雜情況下的split

[macg@localhostPerltest]$vitip.pl

#!/usr/bin/Perl
$str="ABCDEiFG12i34567";
@array=split(/\t/,$str);
foreach(@array){
print$_,"\n";
}
[macg@localhostPerltest]$./tip.pl
ABCDEiFG12i
34567
只分了兩份,為什么?
因為同時滿足TAB和空格的只有一處
所以必須加[]
@array=split(/[\t]/,$str);現在才是真正的按空格和TAB分
[macg@localhostPerltest]$./tip.pl
ABCDEi
FG12i

345
6
7
但還是有缺陷,TAB和空格相連時,TAB被認為是空格劃分的子串,或者空格被認為是TAB劃分的子串


◆用join定義Perl字符串數組格式符號(缺省是,)必須與qw()合用

語法:join($string,@array)
@array=qw(onetwothree);
$total="one,two,three";
@array=qw(onetwothree);
$total=join(":",@array);
$total="one:two:three";
數組內grep
@array=("one","on","in");
$count=grep(/on/,@array);
查詢結果賦值給單變量
@array=("one","on","in");
@result=grep(/on/,@array);
查詢結果賦值給數組
2
one
on
 

【編輯推薦】

  1. 解析Perl字符串用法
  2. Perl多線程的兩種實現方式
  3. Perl二維數組用法全程剖析
  4. Perl基礎 Perl 哈希表概述
  5. 解析Perl正則表達式中的模式

 

 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-07-14 16:21:48

Perl

2010-07-14 12:39:30

Prel字符串

2010-07-14 16:48:02

Perl字符串比較

2010-07-14 16:35:52

Perl字符串處理函數

2010-07-19 15:07:46

Perl字符串處理函數

2011-08-10 18:47:18

Cocoa字符串

2015-08-14 09:37:44

Java字符串基本運算

2010-07-15 14:01:10

Perl目錄句柄

2010-07-14 17:00:34

Perl字符串

2010-07-14 16:10:37

Perl

2015-06-09 14:43:36

javascript操作字符串

2009-08-24 13:04:44

操作步驟C#字符串

2021-06-18 06:31:55

PyTorchPython深度學習

2024-06-26 08:18:08

ES6模板字符串

2021-03-11 10:00:32

Java字符串開發(fā)

2022-05-26 09:31:20

Java字符串

2019-12-25 15:41:50

JavaScript程序員編程語言

2009-11-27 10:24:25

PHP字符串操作

2009-07-15 17:20:45

Jython字符串

2010-09-06 17:30:46

SQL函數
點贊
收藏

51CTO技術棧公眾號