str="100%200%300"
echo ${#str}
11
- ${var#[#]}
截取字符串头部匹配的字符串,获取尾部子字符串
${var#} 最小限度的截取
${var##} 最大限度的截取
str="100%200%300%300%200%100"
echo "{str#1}=========="${str#1}
echo "{str#*0}=========="${str#*0}
echo "{str#0}=========="${str#0}
echo "{str##*3}=========="${str##*3}
echo "{str##*2}=========="${str##*2}
{str#1}==========00%200%300%300%200%100
{str#*0}==========0%200%300%300%200%100
{str#0}==========100%200%300%300%200%100
{str##*3}==========00%200%100
{str##*2}==========00%100
- ${var%[%]}
截取字符串尾部匹配的字符串,获取头部子字符串
${var%} 最小限度的截取
${var%%} 最大限度的截取
str="100%200%300%300%200%100"
echo "{str%0}=========="${str%0}
echo "{str%2*}=========="${str%2*}
echo "{str%%2*}=========="${str%%2*}
{str%0}==========100%200%300%300%200%10
{str%2*}==========100%200%300%300%
{str%%2*}==========100%
- ${var:start[:len]}
从左边start 截取 ,没有len参数即从start 位开始截取所有 ,有len参数即从start位开始截取len 个字符
str="100%200%300%300%200%100"
echo "{str:2}=========="${str:2}
echo "{str:2:5}=========="${str:2:5}
{str:2}==========0%200%300%300%200%100
{str:2:5}==========0%200
- ${var:0-start[:len]}
从右边start 截取 ,没有len参数即从右边start 位开始向后截取所有 ,有len参数即从start位开始向后截取len 个字符,start 不能超过字符串的长度
str="100%200%300%300%200%100"
echo "{str:0-20:5}=========="${str:0-20:5}
echo "{str:0-30:5}=========="${str:0-30:5}
echo "{str:0-4}=========="${str:0-4}
{str:0-20:5}==========%200%
{str:0-20:5}==========
{str:0-4}==========%100