字符提取

壳中截取字符串的方法有很多中,
${}表达式一共有9种使用方法。
${参数:词}
${参数:=词}
${参数:?词}
${参数:+字}
上面4种可以用来进行缺省值的替换。
${#参数}
上面这种可以获得字符串的长度。
${}参数%词最小限度从后面截取词
${}参数% %词最大限度从后面截取词
${参数#字}最小限度从前面截取词
${参数# #字}最大限度从前面截取词
上面4个就是用来截取字符串的方法了。
有了着四种用法就不必使用割命令来截取字符串了
第一种又可以分为四种情况,下面一一介绍。

1,使用#号操作符。用途是从左边开始删除第一次出现子字符串即其左边字符,保留右边字符。用法为# *字符串的子串,例如:
str=' http://www。你的域名.com/cut-string.html'
echo $ {str # *//}
得到的结果为www。你的域名.com/cut-string.html,即删除从左边开始到第一个“//奔捌渥蟊咚凶址?,使用# #号操作符。用途是从左边开始删除最后一次出现子字符串即其左边字符,保留右边字符。用法为# # *字符串的子串,例如:
str=' http://www。你的域名.com/cut-string.html'
echo $ {str # # */}
得到的结果为cut-string。html,即删除最后出现的“/奔捌渥蟊咚凶址?br/> 3,使用%号操作符。用途是从右边开始删除第一次出现子字符串即其右边字符,保留左边字符。用法为% substr *,例如:
str=' http://www。你的域名.com/cut-string.html'
echo $ {str %/*}
得到的结果为http://www。你的域名。com,即删除从右边开始到第一个“/奔捌溆冶咚凶址?br/> 4,使用% %号操作符。用途是从右边开始删除最后一次出现子字符串即其右边字符,保留左边字符。用法为% % substr *,例如:
str=' http://www。你的域名.com/cut-string.html'
echo $ {str % %/*}
得到的结果为http://www。你的域名。com,即删除从右边开始到最后一个“/奔捌溆冶咚凶址?br/>
第二种也分为四种,分别介绍如下:
1,从左边第几个字符开始以及字符的个数,用法为:开始:len,例如:
str=' http://www。你的域名.com/cut-string.html'
echo $ {var: 0:5}
其中的0表示左边第一个字符开始,5表示字符的总个数。
结果是:http:
2,从左边第几个字符开始一直到结束,用法为:首先,例如:
str=' http://www。你的域名.com/cut-string.html'
echo $ {var: 7}
其中的7表示左边第8个字符开始
结果是:www。你的域名.com/cut-string.html
3,从右边第几个字符开始以及字符的个数,用法:零起点:len,例如:
str=' http://www。你的域名.com/cut-string.html'
echo $ {str: 0-15:10}
其中0 - 6的表示右边算起第6个字符开始,10个表示字符的个数。
结果是:cut-string
3,从右边第几个字符开始一直到结束,用法:零起点,例如:
str=' http://www。你的域名.com/cut-string.html'
echo $ {str: 0 - 4}
其中0 - 6的表示右边算起第6个字符开始,10个表示字符的个数。
结果是:html
注:(左边的第一个字符是用0表示,右边的第一个字符用0 - 1表示)

字符提取