获得字符串
的最后一个字符有一个很好的答案str='abcd/'
echo "${str: -1}"
如何获得倒数第二,即返回'd'而不是'/'
答案 0 :(得分:3)
正如您已经知道的那样,负面位置是相对于字符串的 end ,因此-1
从最后一个字符开始,-2
将从倒数第二个字符开始性格,等等。
但是,您使用的表单是获取子字符串的简化形式,它将所有字符从指定位置移到字符串末尾。
您还可以提供显式长度,以便从该位置开始获取有限数量的字符,因此,要获得倒数第二个字符,您只需要:
${str: -2:1}
bash
文档的相关位是:
${parameter:offset}
${parameter:offset:length}
子串扩展。从
length
指定的字符开始,扩展到参数值的最多offset
个字符。如果省略
length
,则扩展为参数值的子字符串,从offset
指定的字符开始,并延伸到值的末尾。
答案 1 :(得分:0)
使用冒号运算符
str='abcd/'
echo "${str: -2:-1}"
返回'd'