文字输入示例:
"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命令不起作用。