cod*_*ict 67

你可以试试:

sed s'/.$//'
Run Code Online (Sandbox Code Playgroud)

使用的正则表达式是 .$

  • . 是一个正则表达式元字符匹配任何东西(换行除外)
  • $ 是线锚的终点.

通过使用$我们强制.匹配最后一个字符

这将删除最后一个字符,无论如何:

$ echo ABCD | sed s'/.$//'
ABC
$ echo ABCD1 | sed s'/.$//'
ABCD
Run Code Online (Sandbox Code Playgroud)

但是如果你想删除最后一个字符,只有它的字母表,你可以这样做:

$ echo ABCD | sed s'/[a-zA-Z]$//'
ABC
$ echo ABCD1 | sed s'/[a-zA-Z]$//'
ABCD1
Run Code Online (Sandbox Code Playgroud)


gho*_*g74 12

如果你使用shell,你没有调用外部命令,例如bash/ksh

s="ABCD"
echo ${s/%?/}
Run Code Online (Sandbox Code Playgroud)