shell操作字符串

xiaoxiao2026-06-04  17

1 stringZ=abcABC123ABCabc 2 3 echo ${#stringZ} # 15 ################################### 1 stringZ=abcABC123ABCabc 2 # 0123456789..... 3 # 以0开始计算. 4 5 echo ${stringZ:0} # abcABC123ABCabc 6 echo ${stringZ:1} # bcABC123ABCabc 7 echo ${stringZ:7} # 23ABCabc 8 9 echo ${stringZ:7:3} # 23A 10 # 提取的子串长为3 11 12 13 14 # 有没有可能从字符串的右边结尾处提取? 15 16 echo ${stringZ:-4} # abcABC123ABCabc 17 # 默认是整个字符串,就相当于${parameter:-default}. 18 # 然而. . . 19 20 echo ${stringZ:(-4)} # Cabc 21 echo ${stringZ: -4} # Cabc 22 # 这样,它可以工作了. 23 # 圆括号或附加的空白字符可以转义$position参数. 24 25 # 多谢Dan Jacobson指出这点. ####################################################### 1 stringZ=abcABC123ABCabc 2 # |----| 3 # |----------| 4 5 echo ${stringZ#a*C} # 123ABCabc 6 # 剥去匹配'a'到'C'之间最短的字符串. 7 8 echo ${stringZ##a*C} # abc 9 # 剥去匹配'a'到'C'之间最长的字符串. ############################################################## 1 stringZ=abcABC123ABCabc 2 # || 3 # |------------| 4 5 echo ${stringZ%b*c} # abcABC123ABCa 6 # 从$stringZ后面尾部开始,剥去匹配'a'到'C'之间最短的字符串. 7 8 echo ${stringZ%%b*c} # a 9 # 从$stringZ后面尾部开始,剥去匹配'a'到'C'之间最长的字符串. ###################################################################### 1 stringZ=abcABC123ABCabc 2 3 echo ${stringZ/abc/xyz} # xyzABC123ABCabc 4 #用'xyz'代替第一个匹配的'abc'. 5 6 echo ${stringZ//abc/xyz} # xyzABC123ABCxyz 7 # 用'xyz'代替所有的'abc'. ########################################################## 1 stringZ=abcABC123ABCabc 2 3 echo ${stringZ/#abc/XYZ} # XYZABC123ABCabc 4 # 用'XYZ'替换前端的'abc'. 5 6 echo ${stringZ/%abc/XYZ} # abcABC123ABCXYZ 7 # 用'XYZ'替换后端的'abc'.
转载请注明原文地址: https://www.6miu.com/read-5049578.html

最新回复(0)