Golang プログラミングでは、文字列内の文字を置換することは一般的な操作です。単一の文字を置換する場合でも、複数の文字を置換する場合でも、組み込みの文字列関数とメソッドを使用してこれを行うことができます。この記事では、PHPエディタXinyiを使ってgolangの文字列を置換する方法を紹介します。初心者でも経験豊富な開発者でも、この記事はこのテクニックを簡単に習得するための簡潔かつ明確なガイダンスを提供します。
文字列配列内の特定の位置の文字を置換しようとしています。私のコードは次のようになります:
リーリーここで、このコマンドを実行するとエラーが発生します:
リーリーこれを行う方法はありますか? strings.Replace を使用してみましたが、私の知る限り、特定の文字のすべての出現が置き換えられるため、その特定の文字を置き換えたいと考えています。助けていただければ幸いです。ティア。
Go の文字列は不変であり、その内容を変更することはできません。文字列変数の値を変更するには、新しい文字列値を割り当てる必要があります。
簡単な方法は、まず string
をバイトまたはルーン スライスに変換し、変更を加えて元に戻すことです。
これは出力されます (Go Playground で試してください):
リーリー 注: 文字列を byte
スライスに変換しました。これは、文字列にインデックスを付けると、そのバイトにインデックスが付けられるためです。 string
テキストを格納する UTF-8 バイト シーケンス。バイトと文字が 1 対 1 でマッピングされる必要はありません。
2 番目の文字を置換する必要がある場合は、代わりに []rune
を使用してください:
この例では問題ありませんが、一般的には問題があると思われます。
また、strings.Replace()
は (必ずしも) すべての出現を置換するわけではないことにも注意してください。
リーリー
n は、実行される置換の最大数を示します。したがって、次の方法でも機能します (
Go Playground で試してください):
リーリー
Go to the playground で): リーリー
ここでも注意が必要です。スライス インデックスはバイト インデックスであり、文字 (ルーン) インデックスではありません。関連する質問を表示:
以上がgolangで文字列内の文字を置換するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。