即从ABCD
- >开始ABC
答案 0 :(得分:59)
您可以尝试:
sed s'/.$//'
使用的正则表达式为.$
.
是匹配的正则表达式元字符
任何事情(换行除外)$
是行锚的结束。使用$
我们强制.
匹配最后一个字符
这将删除最后一个字符,无论如何:
$ echo ABCD | sed s'/.$//'
ABC
$ echo ABCD1 | sed s'/.$//'
ABCD
但是如果你想删除最后一个字符,只有它是一个字母表,你可以这样做:
$ echo ABCD | sed s'/[a-zA-Z]$//'
ABC
$ echo ABCD1 | sed s'/[a-zA-Z]$//'
ABCD1
答案 1 :(得分:10)
如果您使用的是shell,则没有调用外部命令,例如bash / ksh
s="ABCD"
echo ${s/%?/}