ホームページ > バックエンド開発 > Golang > Go 文字列を改行で分割するときに内部文字列のブレークを保持するにはどうすればよいですか?

Go 文字列を改行で分割するときに内部文字列のブレークを保持するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-10 21:58:15
オリジナル
1004 人が閲覧しました

How to Preserve Inner String Breaks When Splitting Go Strings with Newlines?

Go での改行の区別: 内部文字列の区切りの保持

exec.Command を使用して Linux コマンドから出力を読み取る場合、結果のバイト配列には次のものが含まれる場合があります。リテラル改行文字 (「n」) とエスケープされた改行文字 (「\n」) の両方。これは、内部文字列の区切りを保持しながら出力を複数の行に分割しようとする場合に問題が生じる可能性があります。

1 つの方法は、次の行を使用してエスケープされた改行を実際の改行に置き換えることです。

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート