變量可以擴充處理,衍生出各種功能。
産生新的結果字元串,并不影響原變量! 查找替換、删除a=/12/123/abc
從左至右 替換 第一次出現的地方:${a/12/}=>//123/abc
從左至右 替換 最左邊開始第一次出現的地方:${a/#12/}=>/12/123/abc,而${a/#\/12/}=>/123/abc
從右至左 替換 最右邊開始第一次出現的地方:${a/%abc/}=>/12/123/,而${a/%\/abc/}=>/12/123
替換 所有 出現的地方:${a//12/}=>//3/abc
模式比對删除左模式、最短比對 删除:${a/#*12}=>/123/abc
左模式、最長比對 删除:${a/##*12}=>3/abc
右模式、最短比對 删除:${a/%12*/}=>/12/
右模式、最長比對 删除:${a/%%12*/}=>/
取變量的子字元串從左邊起的開始位置向右截取字元串:${變量:開始位置(非負數)}:${a:2}=>/123/abc
從右邊起的,向左偏移到開始位置,截取右側字元串 【或者說 從右邊起的開始位置向左截取字元串】:${變量:開始位置(負數)}:${a:(-2)}=>bc,注意負數必須括起來
從左邊起的開始位置向右截取指定長度的字元串:${變量:開始位置(非負數):長度(非負數)}:${a:2:7}=>2/123/a
從右邊起的,向左偏移到開始位置,向右截取指定長度的字元串:${變量:開始位置(非負數):長度(非負數)}:${a:(-2):1}=>b。注意,如果長度大于等于開始位置的絕對值,就相當于由截取功能了
計算變量的子字元串長度${#a}=11