C#
 Computer >> コンピューター >  >> プログラミング >> C#

【C#入門】文字列の指定した位置(n番目)の文字を置き換える方法

C#では、文字列は不変(イミュータブル)であるため、直接特定の文字を書き換えることはできません。しかし、ToCharArray()メソッドを使って文字列を文字配列(char配列)に変換すれば、インデックスを指定して任意の位置の文字を簡単に置き換えられます。

基本的な手順

まず、置き換え対象となる文字列を用意します。

string str1 = "Port";
Console.WriteLine("Original String: "+str1);

次に、この文字列をToCharArray()メソッドで文字配列に変換します。

char[] ch = str1.ToCharArray();

そして、置き換えたい文字とその位置(インデックス)を指定します。インデックスは0から始まるため、たとえば3番目の文字を変更する場合はインデックス「2」を指定します。

ch[2] = 'F';

サンプルコード

以下は、文字列の先頭(1番目)の文字を別の文字に置き換える完全なC#プログラムです。

using System;
using System.Collections.Generic;
public class Demo {
    public static void Main(string[] args) {
        string str1 = "Port";
        Console.WriteLine("Original String: "+str1);
        char[] ch = str1.ToCharArray();
        ch[0] = 'F';
        string str2 = new string (ch);
        Console.WriteLine("New String: "+str2);
    }
}

実行結果

Original String: Port
New String: Fort

解説

このプログラムでは、文字列「Port」をchar配列に変換し、インデックス0(1番目の文字)を「F」に置き換えています。その後、new string(ch)を使って配列を再び文字列に戻すことで、「Fort」という新しい文字列が生成されます。

同様の手法を使えば、文字列の途中や末尾など、任意のn番目の文字も自由に置き換えることが可能です。文字列操作を行う際には、ぜひこのパターンを活用してみてください。

  1. Pythonで文字列からn番目の文字を削除するプログラムの書き方

    はじめにこの記事では、以下の問題に対する解決方法を解説します。問題文 − 与えられた文字列から、指定したインデックス(i番目)の文字を削除し、その結果を表示します。Pythonの文字列では、インデックスは必ず0から始まるという点に注意してください。例えば、「Tutorialspoint」という文字列の場合、各文字のインデックスは以下のように対応しています。T u t o r i a l s p o i n t 0 1 2 3 4 5 6 7 8 9 10 11 12 13それでは、この問題を解決するためのPythonスクリプトを見ていきましょう。実装例def remove(string

  2. Pythonで文字列からn番目の文字を削除する方法【サンプルコード付き】

    Pythonにおいて、文字列は文字の配列として扱われます。そのため、先頭の文字のインデックスは「0」から始まり、各文字の位置(インデックス)を簡単に取得できます。この性質を利用すると、指定したn番目の文字だけを削除することが可能です。 基本的な考え方はシンプルです。削除したい文字のインデックス番号を受け取り、元の文字列を次の2つの部分文字列に分割します。 n番目のインデックスの文字より前の部分 n番目のインデックスの文字より後の部分 その後、この2つの部分文字列を連結すれば、n番目の文字が取り除かれた新しい文字列が完成します。 実行例 入力: python 削除するインデックス: 3 出