如何识别字符串的最后一个字符 - 一个字符或数字?

时间:2015-02-19 11:12:06

标签: shell unix

我想识别字符串的最后一个字符,我正在使用:

访问最后一个字符
echo "${VAR: -1}"

如果是角色,我想在角色前添加。(点),如果是数字则不做任何操作。

1 个答案:

答案 0 :(得分:1)

expr match ${VAR: -1} '.*[0-9]' >/dev/null || VAR="${VAR:0:`expr ${#VAR} - 1`}.${VAR: -1}"

说明:

expr match ${VAR: -1} '.*[0-9]' >/dev/null    

如果最后一个字符是数字

,则第一个表达式返回1
VAR="${VAR:0:`expr ${#VAR} - 1`}.${VAR: -1}"

如果表达式返回1,则该行的其余部分将var分配给var中的所有字符,但不包括最后一个字符,请附加“。”字符,并附加最后一个字符。