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

C#で文字列内の文字を入れ替える方法(Selectメソッド活用)

C#で文字列に含まれる特定の文字を別の文字と入れ替えたい場合、LINQのSelectメソッドを使うと簡潔に実装できます。文字列はイミュータブル(不変)なため、直接書き換えることはできませんが、各文字を変換した新しい配列から文字列を再生成することで対応できます。

まず、対象となる文字列を用意します。ここでは次の文字列を例にします。

string str = "PQRQP";

この文字列に含まれるすべての「P」を「Q」に、「Q」を「P」に入れ替えます。Selectメソッドと三項演算子を組み合わせると、次のように1行で記述できます。

str.Select(a => a == 'P' ? 'Q' : (a == 'Q' ? 'P' : a)).ToArray();

このコードでは、各文字に対して条件判定を行い、「P」なら「Q」へ、「Q」なら「P」へ変換し、それ以外の文字はそのまま返します。最後にToArray()で結果をchar型の配列に変換します。

続いて、完全なサンプルコードを見てみましょう。

サンプルコード

using System;
using System.Linq;

public class Program {
    public static void Main() {

        string str = "PQRQP";

        var res = str.Select(a => a == 'P' ? 'Q' : (a == 'Q' ? 'P' : a)).ToArray();
        str = new String(res);

        Console.WriteLine(str);
    }
}

実行結果

QPRPQ

出力を見ると、元の文字列「PQRQP」のPとQが正しく入れ替わり、「QPRPQ」と表示されていることがわかります。この手法は、複数の文字の一括置換や条件付きの文字変換にも応用できるため、覚えておくと便利です。

  1. C#で文字列から最後の4文字を取得する方法

    C#で文字列の末尾部分だけを取り出したい場面はよくあります。例えば、ファイル名の拡張子やコード番号の末尾などを取得したいときです。本記事では、Substring()メソッドを使って、文字列から最後の4文字を簡単に取得する方法を解説します。基本的な考え方まず、対象となる文字列を用意します。string str = Football and Tennis;次に、Substring()メソッドとLengthプロパティを組み合わせます。「文字列全体の長さから4を引いた位置」を開始位置として指定することで、末尾の4文字だけを取り出せます。str.Substring(str.Length - 4);完全な

  2. C#で文字列をint型(整数)に変換する方法を解説

    C#では、数値として表現された文字列をint型(整数)に変換する場面がよくあります。例えば、ユーザー入力やファイルから読み込んだデータを計算に使いたい場合などです。本記事では、Int32.Parse()メソッドを使った基本的な変換方法を解説します。Int32.Parse()メソッドとはInt32.Parse()は、数字の文字列を32ビット符号付き整数(int型)に変換するためのメソッドです。変換元の文字列が有効な数値形式でない場合、FormatExceptionがスローされる点に注意してください。変換の手順まず、変換対象となる文字列を用意します。string str = 9999;次に、Int