区分 Go 中的换行符
在 Go 中,从外部命令读取字符串输出可能会给区分“n”换行符带来挑战在字符串内容和实际换行符内。
问题
当使用 strings.Split(output, "n") 或 bufio.NewScanner(strings.NewReader(output)) 等方法时,字符串缓冲区在“n”字符的任何实例处分裂,无论是换行符还是字符串内容的一部分。
解决方案
问题的出现是因为 Go 转义了反引号括起来的字符串文字中的换行符。要区分转义换行符和实际换行符,您可以使用以下方法:
此函数将嵌入的转义换行符转换为实际换行符,允许正确分割行而不破坏字符串内容。
用法示例
给定以下字符串输出:
该函数将生成三行而不是七行:
此方法允许解析多行字符串,同时保留内部换行符。
以上是如何区分 Go 字符串输出中的转义字符和实际换行符?的详细内容。更多信息请关注PHP中文网其他相关文章!