如何在字符串中交换参数?

时间:2014-07-21 07:17:41

标签: arrays vim swap

文字输入示例:

"The exponent of [i]*[i]*[i]*0,5 is [i*i*i*0.5]"|%d,%f,%d,%e

文本输出必须是:

"The exponent of [%d]*[%f]*[%d]*0,5 is [%e]"|i,i,i,i*i*i*0.5

我做了什么: 我先尝试将它们放在两个数组中

array_text ['i', 'i', 'i', 'i*i*i*0.5']
array_parameters ['%d', '%f', '%d', '%e']

但我不知道如何使用array_text[0]在文本中切换array_parameters[0], 带有array_text[1]的文本中的array_parameters[1],以及其他数组项目 如何交换它们以实现我的文本输出?如上所示?

修改

我试着像这样解决它:

   let end = 0
   for i in range(0,len(array_text)-1) 
    let idx = match(textstring, '\[\zs'.array_text[i], end)
         let end = matchend(textstring, array_text[i], idx)
         if end > idx
           let text = substitute(text, strpart(text, idx, end-idx), array_parameters[i], '')
         endif
    endfor

这似乎有效,但替换/ strpart命令不起作用。

0 个答案:

没有答案