在 Go Lang 中處理換行符
在 Go lang 中,讀取命令輸出的常見做法是使用 exec.Command。然而,在使用位元組切片時,區分文字換行符(“n”)和實際換行符可能會很棘手。
澄清一下,“文字”換行符是包含在字串中的“n”,而“真正的”換行符是字串中自然出現的換行符序列。例如:
Print first result: "123;\n234;\n" Print second result: "456;\n"
這裡,第一個結果包含三行,而第二個結果只包含一行。
當使用 strings.Split 或 bufio.NewScanner 等方法時,它們可能會不區分這些類型的換行符。為了解決這個問題,您可以使用以下方法:
replacedStr := strings.Replace(output, `\n`, "\n", -1) processedLines := strings.Split(replacedStr, "\n")
在此方法中,strings.Replace 標識文字換行符(“n”)並將其替換為真正的換行符(“n” )。產生的字串 ReplacedStr 現在包含實際的換行符。接下來,strings.Split 現在可以正確地將字串分割成行。
此方法可確保正確處理文字換行符和實際換行符,從而可以準確地逐行處理所需的資料。
以上是如何正確處理 Go 的 `exec.Command` 輸出中的文字和實際換行符號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!