歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux內置字符串處理

Linux內置字符串處理

日期:2017/2/28 16:17:12   编辑:Linux教程

一、字符串條件判斷

簡單表達式

解釋

實例

Left=${right}

Left= 變量right 的值, 與$right 相同

right="a";left=${right};echo ${left}

a

Left=${right- DEFAULTSTRING}

如果right 沒有被聲明 , 那麼就以$DEFAULTSTRING 作為left 的值,否則left=$right

left=${right-"default"};echo $left $right

default

right="";left=${right-"default"};echo $left $right

Left=${right:- DEFAULTSTRING}

如果right 沒有被聲明, 或者其值為空 , 那麼就以$DEFAULTSTRING 作left 的值,否則left=$right

right="";left=${right:-"default"};echo $left $right

default

Left=${right= DEFAULTSTRING}

如果right 沒有被聲明 , 那麼就以$DEFAULTSTRING 作為left 的值, 同時right=$DEFAULTSTRING, 否則left=$right

right="";left=${right="default"};echo $left $right

Left=${right:= DEFAULTSTRING}

如果right 沒有被聲明, 或者其值為空 , 那麼就以$DEFAULTSTRING 作為left 的值, 同時right=$DEFAULTSTRING, 否則left=$right

right="";left=${right:="default"};echo $left $right

default default


二、字符串常用操作(長度,讀取,替換)

字符表達式

解釋

實例

${#string}

獲取$string 字符長度

test="12345";echo ${#test}

5

${string:pos}

在$string 中, 從位置$pos 開始提取串(pos 從0 開始)

test="12345";echo ${test:1}

2345

${string:pos:length}

在$string 中, 從位置$pos 開始提取長度為$length 的串

test="12345";echo ${test:1:2}

23

${string#substring}

從變量$string 左邊, 刪除最短匹配$substring 的串

test="123453467";echo ${test#*3}

453467

${string##substring}

從變量$string 左邊, 刪除最長匹配$substring 的串

test="123453467";echo ${test##*3}

467

${string%substring}

從變量$string 的右邊開始, 刪除最短匹配$substring 的串

test="123453467";echo ${test%3*}

12345

${string%%substring}

從變量$string 的右邊開始, 刪除最長匹配$substring 的串

test="123453467";echo ${test%%3*}

12

${string/substring/replacement}

使用$replacement, 來代替第一個匹配的$substring

test="123453467";echo ${test/3/9}

129 453467

${string//substring/replacement}

使用$replacement, 代替所有 匹配 的$substring

test="123453467";echo ${test//3/9}

129 459 467

${string/#substring/replacement}

如果$string 的前綴 匹配 $substring, 那麼就用$replacement 來代替$substring

test="123123467";echo ${test/#123/9}

9 123467

${string/%substring/replacement}

如果$string 的後綴 匹配$substring, 那麼就用$replacement 來代替$substring

test="123123467";echo ${test/%467/9}

1231239

Copyright © Linux教程網 All Rights Reserved