ホームページ  >  記事  >  バックエンド開発  >  Go 文字列出力の埋め込み `\\n` と実際の改行を区別するにはどうすればよいですか?

Go 文字列出力の埋め込み `\\n` と実際の改行を区別するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-26 17:00:11616ブラウズ

How to Differentiate Embedded `\n` from Actual Line Breaks in Go String Output?

Go での文字列の区別の処理

Go で Linux コマンドによって生成された文字列出力を処理する場合、埋め込まれた "n" 文字と実際の改行は困難な場合があり、文字列解析が正しく行われない可能性があります。

ここで説明したシナリオでは、目的は区別することです。複数行の文字列 (引用符で囲まれた文字列を表す) 内に存在する "n" 文字と、異なる結果行を区切る実際の改行との間。

この問題に対処するには、次の手法を検討してください:

output := strings.Replace(sourceStr, `\n`, "\n", -1)

このコードは、エスケープされた "n" 文字 (つまり n) のすべてのインスタンスを実際の改行 "n" に置き換えます。

内部の文字列リテラルGo ではバックティック () を使用して複数行の文字列を使用できます。ただし、コード内でこれらの文字列を処理する場合、改行は n` でエスケープされます。これらのエスケープされた改行を実際の改行に置き換えることで、埋め込まれた「n」文字と実際の行区切り文字を区別できます。

このアプローチにより、strings.Split や bufio.NewScanner などの後続の文字列解析技術が確実に実行されます。は正しく動作し、埋め込まれた「n」文字ではなく実際の改行に基づいて複数行の文字列を個々の行に分割します。

以上がGo 文字列出力の埋め込み `\\n` と実際の改行を区別するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。