Go에서 줄 바꿈 구별: 내부 문자열 분리 유지
exec.Command를 사용하여 Linux 명령에서 출력을 읽을 때 결과 바이트 배열에 다음이 포함될 수 있습니다. 리터럴 개행 문자("n")와 이스케이프된 개행 문자("\n") 모두. 내부 문자열 나누기를 유지하면서 출력을 줄로 분할하려고 할 때 문제가 될 수 있습니다.
한 가지 접근 방식은 다음 줄을 사용하여 이스케이프된 줄 바꿈을 실제 줄 바꿈으로 바꾸는 것입니다.
strings.Replace(out, `\n`, "\n", -1)
By 이렇게 하면 이스케이프된 개행 문자를 원래 형식으로 효과적으로 변환하여 다음과 같은 표준 방법을 사용하여 출력을 여러 줄로 분할할 수 있습니다. as:
lines := strings.Split(out, "\n")
이렇게 하면 출력이 줄로 분할되지만 문자열 내의 구분은 유지됩니다. 예를 들어 다음 출력을 고려해보세요.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!