溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

perl中split怎么用

發布時間:2022-02-23 10:58:05 來源:億速云 閱讀:376 作者:小新 欄目:開發技術

小編給大家分享一下perl中split怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

split語法perl——當split函數用空格做分隔符時 ## 語法 split /PATTERN/,EXPR split /PATTERN/ split  split用來分隔字符串EXPR,在列表上下文中返回分隔后的列表,在標量上下文中返回列表長度。

split語法

## 語法

split /PATTERN/,EXPR 
split /PATTERN/ 
split

split用來分隔字符串EXPR,在列表上下文中返回分隔后的列表,在標量上下文中返回列表長度。 

split用空格分隔字符串:

#!/usr/bin/perl
$_= "   a   b   c   d   e";    ## 字符串有前導空格,字符‘a’前面有空白
print join " | ", split ;       ## 默認分隔符
print "\n";
print join " ! ", split /\s+/;  ## 正則匹配空格
print "\n";
print join " | ", split ' ';    ## 直接量空格
print "\n";
##### 輸出結果
##  a | b | c | d | e
##   ! a ! b ! c ! d ! e
##  a | b | c | d | e

默認分隔符split和直接量分隔符split ' '都把字符串的前導空格去掉了,而正則匹配split /\s+/為前導空格保留了位置,用一個空字符''代替。

以前認為split /\s+/和split ' '是一樣的,現在看來是不一樣的。

為什么會這樣呢!

用-代替空格:

#!/usr/bin/perl
$_= "---a--b----c-d-e";
print join " ! ", split /-+/;
print "\n";
####輸出結果
#  ! a ! b ! c ! d ! e

可以理解為perl字符串是由一個空字符''開頭,這樣就可以理解上一節中,split /\s+/分隔后的結果。

而split ' '是split的特殊情況,該格式是模擬awk的默認行為,所以在分割行為開始之前,會把字符串中的前導空格全部刪除,然后再使用split /\s+/處理,這就是為什么兩者結果不同的原因。

除了split ' '這種特殊情況外,如果提供其他字符串,perl也會解釋為正則表達式去執行。

看完了這篇文章,相信你對“perl中split怎么用”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女