区分 Go 中的换行符:保留内部字符串中断
当使用 exec.Command 从 Linux 命令读取输出时,生成的字节数组可能包含文字换行符(“n”)和转义换行符(“\n”)。当尝试将输出分割成行同时保留内部字符串中断时,这可能会带来挑战。
一种方法是使用以下行将转义换行符替换为实际换行符:
strings.Replace(out, `\n`, "\n", -1)
通过这样做,我们有效地将转义的换行符转换为其原始形式,从而允许我们使用标准方法将输出拆分为行,例如:
lines := strings.Split(out, "\n")
This将导致输出被分成行,但字符串内的中断将被保留。例如,考虑以下输出:
First line: "test1" Second line: "123;\n234;\n345;" Third line: "456;\n567;" Fourth line: "test4"
使用上述技术拆分此输出将产生以下几行:
First line: "test1" Second line: "123;\n234;\n345;" Third line: "456;\n567;" Fourth line: "test4"
如您所见,内部字符串中断是保留,并且输出被正确分割成行。
以上是用换行符分割 Go 字符串时如何保留内部字符串中断?的详细内容。更多信息请关注PHP中文网其他相关文章!