[C#]文字列の後ろからN文字を削除するには?

C#

どうも、ちょげ(@chogetarou)です。

文字列の後ろから指定した文字数分を削除する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

文字列の後ろから指定した文字数分を削除する方法は、3つあります。

範囲演算子

1つ目は、範囲演算子を使う方法です。

まず、文字列のLengthプロパティを削除する文字数で引いた値を持つ変数を用意します。

int endIndex = text.Length - N; //N=削除する文字数

次に、文字列の後に[]を記述します。

[]内に「..」を記述し、「..」の左辺に「0」、右辺に用意した変数を指定します。

string result = text[0..endIndex];

上記の「文字列名[]」は、文字列からLengthプロパティの後ろから引いた分の文字数を削除した文字列を返します。

範囲演算子は、C#のバージョン8.0から使える機能です。

使用例

using System;

namespace Sample
{
    class Program
    {
        static void Main(string[] args)
        {
            string greeting = "Hello,CSharp";

            int endIndex = greeting.Length - 5;

            string result = greeting[0..endIndex];

            Console.WriteLine(result);
        }
    }
}

/*
    出力:Hello,C
*/

Remove()

2つ目は、Remove()を使う方法です。

まず、文字列からRemove()を呼び出します。

そして、Remove()の引数に文字列のLengthプロパティを削除する文字数で引いた値を指定します。

string result = text.Remove(text.Length - N); //N=削除する文字数

上記のRemove()は、呼び出した文字列の後ろからからLengthプロパティから引いた分の文字数を削除した文字列を返します。

使用例

using System;
public class Example
{
    public static void Main()
    {
        string greeting = "Hello,CSharp";
        
        string result = greeting.Remove(greeting.Length - 5);
        
        Console.WriteLine(result);
    }
}

/*
    出力:Hello,C
*/

Substring()

3つ目は、Substring()を使う方法です。

まず、文字列からSubstring()を呼び出します。

そして、Substring()の第1引数に0、第2引数に文字列のLengthプロパティを削除する文字数で引いた値を指定します。

string result = text.Substring(0, text.Length - N); //N=削除する文字数

上記のSubstring()は、呼び出した文字列の後ろからからLengthプロパティから引いた分の文字数を削除した文字列を返します。

使用例

using System;
public class Example
{
    public static void Main()
    {
        string greeting = "Hello,CSharp";
        
        string result = greeting.Substring(0, greeting.Length - 5);
        
        Console.WriteLine(result);
    }
}

/*
    出力:Hello,C
*/
スポンサーリンク

まとめ

文字列の後ろからN文字を削除する方法は、次の3つです。

  • 範囲演算子を使う方法(C# 8.0の機能)
    string result = text[0..endIndex];
  • Remove()を使う方法
    string result = text.Remove(text.Length - N);
  • Substring()を使う方法
    string result = text.Substring(0, text.Length - N);

コメント

タイトルとURLをコピーしました