printf() - 参数不足错误

时间:2014-07-20 14:32:16

标签: string vim count printf

我试图从inputdialog读取输入并将它们放在printf()命令中。

体育专业。 inputdialog变量:

b = "this is my number list %d and %02f"

1)
首先,我不知道有多少"%"物品有" b"。
我想通过计算所有字符并删除所有"%"来计算它们。项目和计算差异(=#nr。"%"项目):

   let totlength = strlen(b) 
   let tempsubst = strlen(substitute(b, '%\ze\S', "","g"))
   let NrPercentages = totlengte - tempsubst

我无法找出正确的正则表达式来替换所有不是'%\ ze \ S' (否定的方式)
任何人都可以帮助我吗?

2)
如果我知道"%"来自inputdialog字段的项目我可以创建一个特定范围的printf()" i"

   let nrOfi = 'i'
   if NrPercentages > 0
     let nrOfi = nrOfi.repeat(',i', NrPercentages-1)
   endif

   for i in range(1,10,2) 
       put=printf(''.b.'',eval(nrOfi))
   endfor 

这会产生错误.printf()的参数不足
   我错了什么?

1 个答案:

答案 0 :(得分:1)

首先,您正在寻找:

  let tempsubst = strlen(substitute(b, '[^%]', "","g"))