目次
質問内容
解決策
ホームページ バックエンド開発 Golang golangで文字列内の文字を置換する

golangで文字列内の文字を置換する

Feb 09, 2024 pm 06:09 PM
文字列配列 overflow

golangで文字列内の文字を置換する

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Oracleでsplit()関数を使用する方法 Oracleでsplit()関数を使用する方法 May 07, 2024 pm 01:06 PM

SPLIT() 関数は、指定された区切り文字によって文字列を配列に分割し、各要素が元の文字列の区切り文字で区切られた部分である文字列の配列を返します。使用法には、コンマで区切られた値のリストを配列に分割する、パスからファイル名を抽出する、電子メール アドレスをユーザー名とドメインに分割するなどが含まれます。

2009 年から 2025 年の誕生以来のビットコインの価格 BTC 過去の価格の最も完全な概要 2009 年から 2025 年の誕生以来のビットコインの価格 BTC 過去の価格の最も完全な概要 Jan 15, 2025 pm 08:11 PM

2009 年の誕生以来、ビットコインは暗号通貨の世界のリーダーとなり、その価格は大きな変動を経験しました。包括的な歴史的概要を提供するために、この記事では 2009 年から 2025 年までのビットコイン価格データをまとめ、主要な市場イベント、市場センチメントの変化、価格変動に影響を与える重要な要因を取り上げます。

Windows 11 の右下隅で時間がなくなった場合の対処方法_Windows 11 の右下隅で時間がなくなった場合の対処方法 Windows 11 の右下隅で時間がなくなった場合の対処方法_Windows 11 の右下隅で時間がなくなった場合の対処方法 May 06, 2024 pm 01:20 PM

1. まず、Windows 11の下部にあるタスクバーの空白部分を右クリックし、[タスクバーの設定]を選択します。 2. タスクバー設定の右側にある [taskbarcorneroverflow] を見つけます。 3. 次に、その上にある [時計] または [時計] を見つけて選択し、オンにします。方法 2: 1. キーボード ショートカット [win+r] を押して [ファイル名を指定して実行] を呼び出し、[regedit] と入力して Enter キーを押して確定します。 2. レジストリエディタを開き、その中にある[HKEY_CURRENT_USERControlPanel]を見つけて削除します。 3. 削除後、コンピュータを再起動すると、システムに戻ると、設定を求めるプロンプトが表示されます。

Java 関数について質問したり議論したりできるコミュニティ フォーラムやディスカッション グループはありますか? Java 関数について質問したり議論したりできるコミュニティ フォーラムやディスカッション グループはありますか? Apr 28, 2024 pm 02:12 PM

回答: Java 関数型プログラミングの質問には、次のコミュニティ フォーラムおよびディスカッション グループが利用できます。 StackOverflow: Java 関数型プログラミングの専門家のコミュニティを備えた世界最大のプログラミング Q&A Web サイト。 JavaFunctionalProgramming: Java 関数型プログラミングに焦点を当てたコミュニティ フォーラムで、概念、言語機能、ベスト プラクティスについてのディスカッションを提供します。 Redditr/functionjava: Java の関数型プログラミングに焦点を当てたサブレディットで、ツール、ライブラリ、テクノロジに焦点を当てています。 Discord: JavaFunctional Programming: リアルタイムのディスカッション、コード共有、コラボレーションを提供する Discord サービス

Javaのargsは何を意味しますか Javaのargsは何を意味しますか May 07, 2024 am 02:24 AM

args は Java の main メソッドの特別なパラメータ配列で、コマンド ライン パラメータまたは外部入力の文字列配列を取得するために使用されます。 args 配列にアクセスすることで、プログラムはこれらの引数を読み取り、必要に応じて処理できます。

Pythonで他の人のコードを使用する方法 Pythonで他の人のコードを使用する方法 May 05, 2024 pm 07:54 PM

他の人の Python コードを使用するにはどうすればよいですか?コード リポジトリを見つける: PyPI や GitHub などのプラットフォームで必要なコードを見つけます。インストール コード: pip を使用するか、GitHub リポジトリのクローンを作成してインストールします。モジュールのインポート: スクリプト内で import ステートメントを使用して、インストールされているモジュールをインポートします。コードの操作: モジュール内の関数とクラスにアクセスします。 (オプション) コードを調整する: プロジェクトに合わせて必要に応じてコードを変更します。

win11 コンピューターの時刻が常に間違っている場合はどうすればよいですか? Windows 11コンピュータで間違った時刻を調整する方法 win11 コンピューターの時刻が常に間違っている場合はどうすればよいですか? Windows 11コンピュータで間違った時刻を調整する方法 May 03, 2024 pm 09:20 PM

win11 コンピューターの時刻が常に間違っている場合はどうすればよいですか? win11 システムを使用するとき、誰もが時刻やカレンダーを設定しますが、多くのユーザーはコンピューターの時刻が常に間違っていると尋ねます。何が起こっているのでしょうか?ユーザーは下のタスクバーを直接クリックし、taskbarcorneroverflow を見つけてセットアップできます。このサイトでは、Win11 コンピューターの時刻誤差を調整する方法を詳しく紹介します。 Windows 11 でコンピューターの時刻エラーを調整する方法。方法 1: 1. まず、下のタスクバーの空白スペースを右クリックし、[タスクバーの設定] を選択します。方法 2: 1. キーボード ショートカット win+r を押して「ファイル名を指定して実行」を呼び出し、「regedit」と入力して Enter キーを押して確認します。

Java関数開発における一般的な例外の種類とその修復方法 Java関数開発における一般的な例外の種類とその修復方法 May 03, 2024 pm 02:09 PM

Java 関数開発における一般的な例外の種類とその修復方法 Java 関数の開発中に、関数の正しい実行に影響を与えるさまざまな例外が発生する可能性があります。一般的な例外の種類とその修復方法は次のとおりです。 1. NullPointerException 説明: 初期化されていないオブジェクトにアクセスするとスローされます。修正: オブジェクトを使用する前に、オブジェクトが null でないことを確認してください。サンプル コード: try{Stringname=null;System.out.println(name.length());}catch(NullPointerExceptione){

See all articles