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

C#におけるTrimStart()とTrimEnd()の違いを徹底解説

C#には、文字列の不要な文字を取り除くための便利なメソッドが用意されています。その中でもTrimStart()TrimEnd()は、それぞれ以下のような役割を持つ文字列操作メソッドです。

  • TrimStart(): 文字列の先頭から、指定した一連の文字の出現箇所をすべて削除する
  • TrimEnd(): 文字列の末尾から、指定した一連の文字の出現箇所をすべて削除する

どちらも引数としてChar型の配列を受け取り、その配列に含まれる文字だけを対象に削除処理を行います。それでは、具体的な使用例を見ていきましょう。

TrimStart()メソッドとは

TrimStart()メソッドは、配列で指定された文字が文字列の先頭に連続して現れる場合、それらをすべて取り除きます。先頭以外の位置にある同じ文字は削除されない点に注意してください。

例: 先頭の「0」をすべて削除する

using System;
class Program {
    static void Main() {

        String str = "0009678".TrimStart(new Char[] { '0' } );
        Console.WriteLine(str);
    }
}

出力結果

9678

この例では、文字列「0009678」の先頭にある「0」がすべて削除され、「9678」という結果が出力されます。途中や末尾の数字には影響しません。

TrimEnd()メソッドとは

一方、TrimEnd()メソッドは、配列で指定された文字が文字列の末尾に連続して現れる場合、それらをすべて取り除きます。

例: 末尾の「1」をすべて削除する

using System;
class Program {
    static void Main() {

        String str = "7341111".TrimEnd(new Char[] { '1' } );
        Console.WriteLine(str);
    }
}

出力結果

734

この例では、文字列「7341111」の末尾に連なる「1」がすべて削除され、「734」という結果になります。先頭や中間の文字はそのまま保持されます。

まとめ

TrimStart()とTrimEnd()の違いは、処理対象が文字列の「先頭」か「末尾」かという点だけです。先頭と末尾の両方をまとめてトリムしたい場合は、Trim()メソッドを使用します。また、引数を省略すると空白文字が削除対象となるため、ユーザー入力の整形などでも活用できます。用途に応じてこれらのメソッドを使い分けることで、文字列データを効率よくクリーンアップできます。

  1. C#におけるボクシングとアンボクシングの違いを徹底解説

    C#において、ボクシング(Boxing)は値型をオブジェクト型(object型)に変換する操作を指し、アンボクシング(Unboxing)はその逆に、オブジェクト型から値型へ変換する操作を指します。 この記事では、ボクシングとアンボクシングの主な違いについて、メモリの格納方法と変換方法の2つの観点からわかりやすく解説します。 1. ストレージ(メモリ上の格納場所)の違い ボクシングでは、スタック領域に格納された値型の値がコピーされ、ヒープメモリ上のオブジェクトとして格納されます。つまり、値がスタックからヒープへと移動するイメージです。 一方、アンボクシングはその逆の動作を行います。ヒープメモリ上

  2. GoとJavaの違いを徹底比較!特徴と使い分けのポイント

    プログラミング言語を選ぶ際、「Go」と「Java」のどちらを採用すべきか迷う開発者は少なくありません。どちらもGoogleや企業システムで広く使われる人気言語ですが、設計思想や言語仕様には大きな違いがあります。本記事では、それぞれの言語の特徴を解説したうえで、両者の主な違いを比較表を使ってわかりやすく整理します。 GoとはGoはGoogleが開発した手続き型(プロシージャル)プログラミング言語です。プログラムはパッケージ単位で構成され、シンプルで読みやすいコード記述を重視した設計になっています。動的言語に近い柔軟なパターンを取り入れつつ、静的型付けによる安全性も兼ね備えています。また、軽量スレ