如何在m4中删除字符串的最后一个字符

时间:2011-06-08 07:36:53

标签: m4

我正在尝试创建一个用于删除m4中字符串的最后一个字符的宏,我试图做类似的事情:

define(`delete_last',substr(`$1',`0',eval(``len($1)'-1')))dnl

这是最接近工作的,但我仍然无法正常实现。我现在需要一些帮助。

2 个答案:

答案 0 :(得分:1)

不知道这是最好的方法,但它有效:

define(`__count_m1',`eval($1 - $2)')dnl
define(`__del_last3',`substr($1,`0',__count_m1(len($1),3))')dnl

答案 1 :(得分:1)

我最近不得不写这样一个宏,对我有用的是:

define(`CHOMP',`substr($1,0,eval(len($1)-1))')dnl

因人而异。