字符串長度
${#string}
expr length $string
expr "$string" : '.*'
從字符串開始的位置匹配子串的長度
expr match "$string" '$substring'
$substring 是一個正則表達式
expr "$string" : '$substring'
$substring 是一個正則表達式
索引
expr index $string $substring
匹配到子串的第一個字符的位置.
提取子串
${string:position}
在 string 中從位置$position 開始提取子串.
如果$string 爲"*"或"@",那麼將提取從位置$position 開始的位置參數,[1]
${string:position:length}
在 string 中從位置$position 開始提取$length 長度的子串.
如果$string 參數爲"*"或"@",那將最大的提取從$position 開始的$length 個位置參數.
expr substr $string $position $length
在 string 中從位置$position 開始提取$length 長度的子串.
expr match "$string" '\($substring\)'
從$string 的開始位置提取$substring,$substring 是一個正則表達式.
expr "$string" : '\($substring\)'
從$string 的開始位置提取$substring,$substring 是一個正則表達式.
子串削除
${string#substring}
從$string 的左邊截掉第一個匹配的$substring
${string##substring}
從$string 的左邊截掉最後一個個匹配的$substring
${string%substring}
從$string 的右邊截掉第一個匹配的$substring
${string%%substring}
從$string 的右邊截掉最後一個匹配的$substring
子串替換
${string/substring/replacement}
使用$replacement 來替換第一個匹配的$substring.
${string//substring/replacement}
使用$replacement 來替換所有匹配的$substring.
${string/#substring/replacement}
如果$substring 匹配$string 的開頭部分,那麼就用$replacement 來替換$substring.
${string/%substring/replacement}
如果$substring 匹配$string 的結尾部分,那麼就用$replacement 來替換$substring.