替换缓冲区中内容的最佳方式



我正在读取一个要缓冲的文件,如:

var myfile = fs.readFileSync(myfile.txt);

myfile缓冲区中的某个字符串替换为另一个字符串的正确方法是什么?我想把它作为缓冲区,因为它比把它作为字符串更快。

包缓冲区替换https://www.npmjs.com/package/buffer-replace替换缓冲区中的内容,类似于函数replace for String。

不幸的是,缓冲区处理原始二进制数据。它不提供与字符串相关的函数。

据我所知,在搜索和替换里面的字符串之前,必须先将其转换为String(toString()方法)。

如果您知道搜索字符串的索引,则可以将索引前后的缓冲区内容复制到新的缓冲区中,并连接替换的内容。但在这种情况下,您将遇到编码问题。。。

缓冲文档:http://nodejs.org/api/buffer.html#buffer_class_buffer

如果abcdefghi取代会发生什么。这将在缓冲区中留下一个洞,因为缓冲区无法调整大小。您至少可以在Buffer中搜索字符串,并创建另一个输出Buffer来替换字符串(可能需要中间缓冲区)。

JavaScript的字符串替换通过这种方式有效地处理字符串。如果您仍然想使用缓冲区,可以查看缓冲区工具。它具有indexOf功能,用于在缓冲区中搜索字符串。replace是您必须自己实现的东西。

最新更新