String.Trim メソッド

定義

現在の文字列から、指定した文字セットを先頭および末尾の出現箇所からすべて削除した新しい文字列を返します。

オーバーロード

Trim(Char[])

現在の文字列から、配列で指定された一連の文字が先頭および末尾に現れる箇所をすべて削除します。

Trim(Char)

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

Trim()

現在の文字列から、先頭および末尾にある空白文字をすべて削除します。

Trim(Char[])

現在の文字列から、配列で指定された一連の文字が先頭および末尾に現れる箇所をすべて削除します。

public:
 System::String ^ Trim(... cli::array <char> ^ trimChars);
public string Trim (params char[] trimChars);
public string Trim (params char[]? trimChars);
member this.Trim : char[] -> string
Public Function Trim (ParamArray trimChars As Char()) As String

パラメーター

trimChars
Char[]

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

戻り値

String

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

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

using namespace System;

void main()
{
   array<Char>^ charsToTrim = { L'*', L' ', L'\\' };
   String^ banner = "*** Much Ado About Nothing ***";
   String^ result = banner->Trim(charsToTrim);
   Console::WriteLine("Trimmmed\n   {0}\nto\n   '{1}'", banner, result);
}
// The example displays the following output:
//       Trimmmed
//          *** Much Ado About Nothing ***
//       to
//          'Much Ado About Nothing'
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'
let charsToTrim = [| '*'; ' '; '\'' |]
let banner = "*** Much Ado About Nothing ***"
let result = banner.Trim charsToTrim
printfn $"Trimmmed\n   {banner}\nto\n   '{result}'"

// The example displays the following output:
//       Trimmmed
//          *** Much Ado About Nothing ***
//       to
//          'Much Ado About Nothing'
Module Example
   Public Sub Main()
      Dim charsToTrim() As Char = { "*"c, " "c, "'"c}
      Dim banner As String = "*** Much Ado About Nothing ***"
      Dim result As String = banner.Trim(charsToTrim)
      Console.WriteLine("Trimmmed{0}   {1}{0}to{0}   '{2}'", _
                        vbCrLf, banner, result)
   End Sub
End Module
' The example displays the following output:
'       Trimmmed
'          *** 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

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

注意 (呼び出し元)

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

こちらもご覧ください

適用対象

Trim(Char)

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

public:
 System::String ^ Trim(char trimChar);
public string Trim (char trimChar);
member this.Trim : char -> string
Public Function Trim (trimChar As Char) As String

パラメーター

trimChar
Char

削除する Unicode 文字。

戻り値

String

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

注釈

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

Note

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

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

適用対象

Trim()

現在の文字列から、先頭および末尾にある空白文字をすべて削除します。

public:
 System::String ^ Trim();
public string Trim ();
member this.Trim : unit -> string
Public Function Trim () As String

戻り値

String

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

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

using namespace System;

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 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.
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.
    }
}
printf "Enter your first name: "
let firstName = stdin.ReadLine()

printf "Enter your middle name or initial: "
let middleName = stdin.ReadLine()

printf "Enter your last name: "
let lastName = stdin.ReadLine()

printfn $"\nYou entered '{firstName}', '{middleName}', and '{lastName}'." 

let name = ((firstName.Trim() + " " + middleName.Trim()).Trim() + " " + lastName.Trim()).Trim()
printfn $"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.
Module Example
   Public Sub Main()
      Console.Write("Enter your first name: ")
      Dim firstName As String = Console.ReadLine()
      
      Console.Write("Enter your middle name or initial: ")
      Dim middleName As String = Console.ReadLine()
      
      Console.Write("Enter your last name: ")
      Dim lastName As String = Console.ReadLine
      
      Console.WriteLine()
      Console.WriteLine("You entered '{0}', '{1}', and '{2}'.", _
                        firstName, middleName, lastName)
                        
      Dim name As String = ((firstName.Trim() + " " + middleName.Trim()).Trim() _
                           + " " + lastName.Trim()).Trim()                        
      Console.WriteLine("The result is " + name + ".")
   End Sub
End Module
' The following is 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 正規表現を使用します

Note

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

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

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

注意 (呼び出し元)

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

こちらもご覧ください

適用対象