英語で読む

次の方法で共有


String.Trim メソッド

定義

現在の文字列から指定した文字セットの先頭と末尾のすべての出現箇所が削除される新しい文字列を返します。

オーバーロード

Trim(Char)

現在の文字列から文字の先頭と末尾のすべてのインスタンスを削除します。

Trim(ReadOnlySpan<Char>)

スパンで指定された一連の文字の先頭と末尾のすべての出現箇所を現在の文字列から削除します。

Trim()

現在の文字列から先頭と末尾のすべての空白文字を削除します。

Trim(Char[])

配列で指定された文字セットの先頭と末尾のすべての出現箇所を現在の文字列から削除します。

Trim(Char)

ソース:
String.Manipulation.cs
ソース:
String.Manipulation.cs
ソース:
String.Manipulation.cs

現在の文字列から文字の先頭と末尾のすべてのインスタンスを削除します。

C#
public string Trim (char trimChar);

パラメーター

trimChar
Char

削除する Unicode 文字。

戻り値

trimChar 文字のすべてのインスタンスの後に残っている文字列は、現在の文字列の先頭と末尾から削除されます。 現在のインスタンスから文字をトリミングできない場合、メソッドは現在のインスタンスを変更せずに返します。

注釈

Trim(System.Char) メソッドは、trimChar 文字の先頭と末尾のすべてのインスタンスを現在の文字列から削除します。 先頭と末尾の各トリム操作は、trimChar とは異なる文字が検出されると停止します。 たとえば、trimChar- で、現在の文字列が "---abc---xyz----" の場合、Trim(System.Char) メソッドは "abc---xyz" を返します。 文字列内の単語間の文字を削除するには、.NET 正規表現使用します。

注意

Trim(System.Char) メソッドが現在のインスタンスから文字を削除した場合、このメソッドは現在のインスタンスの値を変更しません。 代わりに、現在のインスタンスで見つかった先頭と末尾のすべての trimChar 文字が削除される新しい文字列が返されます。

現在の文字列が Empty 等しい場合、または現在のインスタンス内のすべての文字が trimChar 文字で構成されている場合、メソッドは Emptyを返します。

適用対象

Trim(ReadOnlySpan<Char>)

スパンで指定された一連の文字の先頭と末尾のすべての出現箇所を現在の文字列から削除します。

C#
public string Trim (scoped ReadOnlySpan<char> trimChars);

パラメーター

trimChars
ReadOnlySpan<Char>

削除する Unicode 文字のスパン。

戻り値

trimChars パラメーター内のすべての文字が出現した後に残っている文字列は、現在の文字列の先頭と末尾から削除されます。 trimChars が空の場合は、代わりに空白文字が削除されます。 現在のインスタンスから文字をトリミングできない場合、メソッドは現在のインスタンスを変更せずに返します。

適用対象

Trim()

ソース:
String.Manipulation.cs
ソース:
String.Manipulation.cs
ソース:
String.Manipulation.cs

現在の文字列から先頭と末尾のすべての空白文字を削除します。

C#
public string Trim ();

戻り値

すべての空白文字の後に残っている文字列は、現在の文字列の先頭と末尾から削除されます。 現在のインスタンスから文字をトリミングできない場合、メソッドは現在のインスタンスを変更せずに返します。

次の例では、String.Trim() メソッドを使用して、ユーザーが入力した文字列から余分な空白を削除してから連結します。

C#
using System;

public class Example
{
    public static void Main()
    {
        Console.Write("Enter your first name: ");
        string firstName = Console.ReadLine();
      
        Console.Write("Enter your middle name or initial: ");
        string middleName = Console.ReadLine();
      
        Console.Write("Enter your last name: ");
        string lastName = Console.ReadLine();
      
        Console.WriteLine();
        Console.WriteLine("You entered '{0}', '{1}', and '{2}'.", 
                        firstName, middleName, lastName);
      
        string name = ((firstName.Trim() + " " + middleName.Trim()).Trim() + " " + 
                    lastName.Trim()).Trim();
        Console.WriteLine("The result is " + name + ".");

        // The following is a possible output from this example:
        //       Enter your first name:    John
        //       Enter your middle name or initial:
        //       Enter your last name:    Doe
        //       
        //       You entered '   John  ', '', and '   Doe'.
        //       The result is John Doe.
    }
}

注釈

Trim メソッドは、現在の文字列から、先頭と末尾のすべての空白文字を削除します。 空白以外の文字が検出されると、先頭と末尾の各トリミング操作が停止します。 たとえば、現在の文字列が "abc xyz" の場合、Trim メソッドは "abc xyz" を返します。 文字列内の単語間の空白文字を削除するには、.NET 正規表現使用します。

注意

Trim メソッドが現在のインスタンスから文字を削除した場合、このメソッドは現在のインスタンスの値を変更しません。 代わりに、現在のインスタンスで見つかった先頭と末尾のすべての空白文字が削除される新しい文字列を返します。

現在の文字列が Empty 等しい場合、または現在のインスタンス内のすべての文字が空白文字で構成されている場合、メソッドは Emptyを返します。

空白文字は、Unicode 標準で定義されています。 Trim メソッドは、Char.IsWhiteSpace メソッドに渡されたときに true の戻り値を生成する先頭と末尾の文字をすべて削除します。

注意 (呼び出し元)

.NET Framework 3.5 SP1 以前のバージョンでは、このメソッドがトリミングする空白文字の内部リストが保持されています。 .NET Framework 4 以降では、このメソッドはすべての Unicode 空白文字 (つまり、IsWhiteSpace(Char) メソッドに渡されたときに true 戻り値を生成する文字) をトリミングします。 この変更により、.NET Framework 3.5 SP1 以前のバージョンの Trim() メソッドは、.NET Framework 4 以降のバージョンの Trim() メソッドが削除しない 2 文字の ZERO WIDTH SPACE (U+200B) と ZERO WIDTH NO-BREAK SPACE (U+FEFF) を削除します。 さらに、.NET Framework 3.5 SP1 以前のバージョンの Trim() メソッドでは、3 つの Unicode 空白文字 (モンゴル語の母音区切り文字 (U+180E)、NARROW NO-BREAK SPACE (U+202F)、MEDIUM MATHEMATICAL SPACE (U+205F) はトリミングされません。

こちらもご覧ください

適用対象

Trim(Char[])

ソース:
String.Manipulation.cs
ソース:
String.Manipulation.cs
ソース:
String.Manipulation.cs

配列で指定された文字セットの先頭と末尾のすべての出現箇所を現在の文字列から削除します。

C#
public string Trim (params char[] trimChars);
C#
public string Trim (params char[]? trimChars);

パラメーター

trimChars
Char[]

削除する Unicode 文字の配列、または nullします。

戻り値

trimChars パラメーター内のすべての文字が出現した後に残っている文字列は、現在の文字列の先頭と末尾から削除されます。 trimCharsnull または空の配列の場合は、代わりに空白文字が削除されます。 現在のインスタンスから文字をトリミングできない場合、メソッドは現在のインスタンスを変更せずに返します。

次の例では、Trim(System.Char[]) メソッドを使用して、文字列からスペース、アスタリスク (*)、アポストロフィ (') 文字を削除します。

C#
char[] charsToTrim = { '*', ' ', '\''};
string banner = "*** Much Ado About Nothing ***";
string result = banner.Trim(charsToTrim);
Console.WriteLine("Trimmed\n   {0}\nto\n   '{1}'", banner, result);

// The example displays the following output:
//       Trimmed
//          *** Much Ado About Nothing ***
//       to
//          'Much Ado About Nothing'

注釈

Trim(System.Char[]) メソッドは、現在の文字列から、trimChars パラメーター内のすべての先頭と末尾の文字を削除します。 先頭と末尾の各トリミング操作は、trimChars に含まれていない文字が検出されると停止します。 たとえば、現在の文字列が "123abc456xyz789" で、trimChars に "1" から "9" までの数字が含まれている場合、Trim(System.Char[]) メソッドは "abc456xyz" を返します。

注意

Trim(System.Char[]) メソッドが現在のインスタンスから文字を削除した場合、このメソッドは現在のインスタンスの値を変更しません。 代わりに、現在のインスタンスで見つかった先頭と末尾のすべての trimChars 文字が削除される新しい文字列が返されます。

現在の文字列が Empty 等しい場合、または現在のインスタンス内のすべての文字が trimChars 配列内の文字で構成されている場合、メソッドは Emptyを返します。

trimCharsnull または空の配列の場合、このメソッドは、Char.IsWhiteSpace メソッドに渡されたときに true を返す先頭または末尾の文字をすべて削除します。

注意 (呼び出し元)

.NET Framework 3.5 SP1 以前のバージョンでは、trimCharsnull または空の配列の場合に、このメソッドによってトリミングされる空白文字の内部リストが保持されます。 .NET Framework 4 以降では、trimCharsnull または空の配列である場合、メソッドはすべての Unicode 空白文字 (つまり、IsWhiteSpace(Char) メソッドに渡されたときに true 戻り値を生成する文字) をトリミングします。 この変更により、.NET Framework 3.5 SP1 以前のバージョンの Trim() メソッドは、.NET Framework 4 以降のバージョンの Trim() メソッドが削除しない 2 文字の ZERO WIDTH SPACE (U+200B) と ZERO WIDTH NO-BREAK SPACE (U+FEFF) を削除します。 さらに、.NET Framework 3.5 SP1 以前のバージョンの Trim() メソッドでは、3 つの Unicode 空白文字 (モンゴル語の母音区切り文字 (U+180E)、NARROW NO-BREAK SPACE (U+202F)、MEDIUM MATHEMATICAL SPACE (U+205F) はトリミングされません。

こちらもご覧ください

適用対象