从 Bash 中的字符串中删除最后一个字符
Aashish Sunuwar
2023年1月30日

让我们看看从字符串中删除最后一个字符的不同方法。
使用 Bash 中的模式替换从字符串中删除最后的 n
个字符
要从字符串中删除最后一个字符,请键入变量名,后跟一个 %
符号和一个数字 ?
符号等于要删除的字符数。
例子:
variable="verylongstring"
echo ${variable%??????}
输出:
verylong
删除起始字符
将 %
符号替换为 #
符号以从起点删除字符。
例子:
variable="verylongstring"
echo ${variable#????????}
输出:
string
使用 Bash 中的参数替换从字符串中删除最后的 n
个字符
这种方法的主要思想是从字符串的开头切到长度 - 要删除的字符数
。这是由 ${variable_name:starting_index:last_index}
完成的
例子:
variable="verylongstring"
length=${#variable}
echo ${variable::length-4}
输出:
verylongst
我们首先确定字符串的长度。从开始索引处截取字符串,在这种情况下为 0(无需提及),直到减去要删除的字符数的 length
。