重新分配字符串字符

时间:2019-05-25 06:23:50

标签: vim

我有以下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.","@","")

1 个答案:

答案 0 :(得分:2)

  

似乎VimScript不支持分配中的字符串索引。

您的意思是左侧不允许有索引。但是仍然可以在rhs上使用它。也许,这不能被称为简短,但是它还是很容易理解的:

let str = str[0] . '@' . str[2:]