如何删除 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 中字符串变量的最后一个字符?的主要内容,如果未能解决你的问题,请参考以下文章