如何删除 ksh 中字符串变量的最后一个字符?

Posted

技术标签:

【中文标题】如何删除 ksh 中字符串变量的最后一个字符?【英文标题】:How can I remove the last character of a string variable in ksh? 【发布时间】:2012-03-01 00:35:41 【问题描述】:

我有一个字符串变量,我想删除它的最后一个字符。

例如:从“testing1”传递到“testing”。

我如何在 KSH 中做到这一点?

【问题讨论】:

【参考方案1】:
var="testing1"
print $var%?

输出

testing

$var%? 是一个参数编辑功能。 '%' 表示从右侧删除并期望遵循模式。在您的示例中,模式可能只是 char '1' (不带引号)。我正在使用通配符 '?'这样任何单个字符都将被删除。您可以使用“*”字符来表示所有字符,但通常您希望将其与一些前面的字符“捆绑”,以您的示例echo $var%i* 将只给您test 结果。在此 AND '#' 和 '##' 上还有从字符串左侧开始的 '%%' 变体。

我希望这会有所帮助。

【讨论】:

如果它位于第 i 个位置被删除的 for 循环中,如何编码? (例如)输入:abcde,第一次迭代输出:abcde,第二次迭代输出:abcd,第三次迭代输出:abc var="abcde" ; for i in 1..2 ; do var=$var%%? ; done ; echo $var 。这适用于 ksh,不确定 bash。如果您知道要删除末尾的 3 个字符,或者我们的提示 echo $var%%??? 祝您好运。

以上是关于如何删除 ksh 中字符串变量的最后一个字符?的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本里,如何删除变量的最后一个字符?

如何删除最后 \ 之前的所有字符 [重复]

从字符串中删除最后一个字符。斯威夫特语言

如何从字符串中删除最后一个字符

如何删除文本中的最后一个字符? [复制]

php如何从php中的字符串中删除最后一个字符[重复]