-
功能介绍
字符串替换将长的字符串中子串A替换成子串B。
-
语法格式
序号 | 格式 | 说明 |
---|---|---|
1 | ${string/substring/replacement} | 使用$replacement, 来代替第一个匹配的$substring |
2 | ${string//substring/replacement} | 使用$replacement, 代替所有匹配的$substring |
3 | ${string/#substring/replacement} | 如果$string的前缀匹配$substring, 那么就用$replacement来代替匹配到的$substring |
4 | ${string/%substring/replacement} | 如果$string的后缀匹配$substring, 那么就用$replacement来代替匹配到的$substring |
-
实例
1. ${string/substring/replacement}
使用$replacement, 来代替第一个匹配的$substring
renhl@verygood:~$ var="AB12CD12EF12GH"; echo ${var/12/xy} #左侧开始第一次匹配的12替换成xy
ABxyCD12EF12GH
renhl@verygood:~$
2. ${string//substring/replacement}
使用$replacement, 代替所有匹配的$substring
renhl@verygood:~$ var="AB12CD12EF12GH"; echo ${var//12/xy} #字符串中所有12子串替换成xy
ABxyCDxyEFxyGH
renhl@verygood:~$ str="C:\Windows\Media\Raga"; echo ${str//\\/\/}; # 字符串\替换成/ 注意 \\ 表示\; \/表示/
C:/Windows/Media/Raga
3. ${string/#substring/replacement}
如果$string的前缀匹配$substring, 那么就用$replacement来代替匹配到的$substring
renhl@verygood:~$ var="AB12AB12AB"; echo ${var/#AB/xy} # 只将前缀中匹配AB替换成xy
xy12AB12AB
4. ${string/%substring/replacement}
如果$string的后缀匹配$substring, 那么就用$replacement来代替匹配到的$substring
renhl@verygood:~$ var="AB12AB12AB"; echo ${var/%AB/xy} # 只将后缀中匹配AB替换成xy
AB12AB12xy