我有以下VimScript命令:
let str="abc"
echo str # => abc
echo str[1] # => b
let str[1]="@" # => E689: Can only index a List, Dictionary or Blob
似乎VimScript不支持分配中的字符串索引。因此,我的问题是如何辞职str
的第二个字符,使其变为a@c
?
我当前的解决方案是:
let str=substitute(str,"\\%2c.","@","")
答案 0 :(得分:2)
似乎VimScript不支持分配中的字符串索引。
您的意思是左侧不允许有索引。但是仍然可以在rhs上使用它。也许,这不能被称为简短,但是它还是很容易理解的:
let str = str[0] . '@' . str[2:]