91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

shell 字符串操作

發布時間:2020-06-25 19:05:53 來源:網絡 閱讀:556 作者:happytree007 欄目:編程語言

一、環境

    ubuntu14.04 x86_64

二、字符串操作

    1.獲得字符串長度

        類似C語言中的strlen()

    ${#variable_name}

    eg:

$name=zhangsan
$echo ${#name}
8
$

    expr length variable_name

   note: variable_name不能為空

  $ expr length $name
  $ 8

    2.字符串提取

        類似java中的substring()

        ${variable_name:start_index:length}    從左到右,從第start_index(0)開始,length長的子串
        ${variable_name:0-start_pos:length}   從結尾倒起數第start_pos開始,length長的子串

        eg:

$echo ${name:0:4}
zhang
$echo ${name:2}    #從第二個位置開始,到結束
angsan
$echo ${name:0-4:2}
gs
$echo ${name:0-4} #從倒數第4開始,到結束
gsan
$

    3.字符串截取

    從左到右刪除

    ${variable_name#*separator}   separator是你要分隔的字符,到第一個separator的位置

    ${variable#pattern} 檢查是否以指定的pattern結束,如果是,則使用variable的內容并從其左側刪除pattern所能夠匹配到的最短結果

    pattern:

             * 匹配零個或多個字符

            ?  匹配任意單個字符

             [...] 匹配指定字符組中任意單個字符

             [!...] 匹配不在字符組中的任意單個字符

    類似C語言中的strchr()

    eg:

$name=zhangsan-lisi-wangwu-baidi
$echo ${name#*-}
lisi-wangwu-baidi
$
$var=testcase
$echo ${var#?e}    #從左側刪除最短的匹配
scase
$echo ${var#*s}
tcase

    ${variable_name##*separator}  到最后一個separator的位置

    ${variable##pattern} 檢查是否以指定的pattern結束,如果是,則使用variable的內容并從其左側刪除pattern所能夠匹配到的最長結果(貪吃)

    類似C語言中的rindex()

    eg:

$echo ${name##*-}
baidi
$
$var=testcase
$echo ${var##*s}   #從左側刪除最長的匹配
e

    從右到左刪除

    ${variable_name%separator*}  ${variable%pattern}

    ${variable_name%%separator*}  ${variable%%pattern}

    eg:

$echo ${name%-*}   
zhangsan-lisi-wangwu
$echo ${name%%-*}
zhangsan
$
$var=testcase
$echo ${var%e} #從右側刪除最短匹配
testcas
$echo ${var%s*e}
testca

    4.字符串拆分

    類似C語言的strtok()

    ${variable_name//ch/ch_replace}    將variable_name中的字符ch替換為ch_replace字符

    eg:

$name=zhangsan-lisi-wangwu-baidi
$name=${name//-/,}  #將橫杠替換為逗號
$echo ${name}
zhangsan,lisi,wangwu,baidi
$name={name//,/ }  #將逗號替換為空格
$echo ${name}
zhangsan lisi wangwu baidi   #可用于后續的for循環
$
$var=tescase
$echo ${var%%s*e}   #從右側刪除最長匹配
te

    IFS  通過設置IFS的值,進行拆分

    
eg:

$test=aaa,bbb,ccc,ddd,eee
$arr=${test}
$echo ${arr}
aaa,bbb,ccc,ddd,eee
$OLD_IFS=$IFS
$IFS=,
$arr2=${test}
$echo ${arr2}
aaa bbb ccc ddd eee
$IFS=${OLD_IFS}


    

向AI問一下細節

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

AI

西乌珠穆沁旗| 曲阜市| 南安市| 南雄市| 新乡县| 武汉市| 明水县| 广汉市| 岗巴县| 兰溪市| 昭通市| 鹿邑县| 犍为县| 杭锦旗| 应城市| 东方市| 沙田区| 辽宁省| 绩溪县| 招远市| 雷波县| 专栏| 漠河县| 仙居县| 平度市| 兴宁市| 雅江县| 威远县| 万年县| 阜宁县| 明星| 黎平县| 台前县| 明溪县| 高尔夫| 大理市| 余干县| 垣曲县| 安多县| 望奎县| 宜都市|