我有一个字符串变量,我想删除它的最后一个字符。
例如:从“testing1”传递到“testing”。
我怎样才能在KSH中做到这一点?
答案 0 :(得分:13)
var="testing1"
print ${var%?}
<强>输出强>
testing
${var%?}
是参数编辑功能。 '%'表示从右侧移除并期望跟随模式。模式可能在您的示例情况下只是char'1'(没有引号)。我正在使用外卡char'?'这样就可以删除任何单个字符。您可以使用'*'字符来表示所有字符,但通常您希望将其与某些前面的字符“捆绑”,因此您的示例echo ${var%i*}
会为您提供test
。此AND'#'和'##'上还有'%%'变体,从字符串的左侧开始。
我希望这会有所帮助。