String.Trim 方法

定義

回傳一個新字串,該字串中指定字元的所有前後出現點都被移除。

多載

名稱 Description
Trim(Char)

移除目前字串中所有前後字元的實例。

Trim(Char[])

從目前字串中移除陣列中指定的一組字元的所有前後出現。

Trim()

移除目前字串中所有前置與後方空白字元。

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 字元。

傳回

所有字元實 trimChar 例結束後剩下的字串會從當前字串的起點和結尾移除。 如果無法從目前的實例修剪任何字元,此方法會傳回未變更的目前實例。

備註

Trim(System.Char) 方法會從目前字串中移除該字元的所有前置與後置實例 trimChar 。 每當遇到與 不同的字元時 trimChar ,每個前導與後方的修飾操作都會停止。 例如,若 trimChar- 且目前字串為「---abc---xyz----」,則該 Trim(System.Char) 方法回傳「abc---xyz」。 若要移除字串中字串間的字元,請使用 .NET Regular Expressions

Note

若方法 Trim(System.Char) 移除當前實例中的任何字元,該方法不會改變當前實例的值。 取而代之的是,它會回傳一個新字串,該字串中目前實例中所有的前導和後尾 trimChar 字元都被移除。

如果目前的字串等 Empty 於或目前實例中的所有字元都是 trimChar 字元,則該方法會回傳 Empty

適用於

Trim(Char[])

從目前字串中移除陣列中指定的一組字元的所有前後出現。

public:
 System::String ^ Trim(... cli::array <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

傳回

參數中所有字元 trimChars 出現後剩下的字串會從當前字串的起點和結尾移除。 若 trimCharsnull 空陣列,則移除空白字元。 如果無法從目前的實例修剪任何字元,此方法會傳回未變更的目前實例。

範例

以下範例使用 Trim(System.Char[]) 去除字串空格、星號(*)和撇號(')字元的方法。

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」。

Note

若方法 Trim(System.Char[]) 移除當前實例中的任何字元,該方法不會改變當前實例的值。 取而代之的是,它會回傳一個新字串,該字串中目前實例中所有的前導和後尾 trimChars 字元都被移除。

如果目前字串 Empty 等於或目前實例中的所有字元都由陣列中的 trimChars 字元組成,則該方法會回傳 Empty

trimCharsnull 為空陣列,此方法會移除導致該方法回傳trueChar.IsWhiteSpace的前置或後尾字元。

給呼叫者的注意事項

.NET Framework 3.5 SP1 及更早版本維護一個內部的空白字元清單,若 trimChars 為 或 null 為空陣列,此方法會修剪。 從 .NET Framework 4 開始,若trimCharsnull空陣列,該方法會修剪所有 Unicode 空白字元(即傳遞給true方法時會產生IsWhiteSpace(Char)回傳值的字元)。 因此,.NET Framework 3.5 SP1 及更早版本中的 Trim() 方法移除了兩個字元:零寬度空間(U+200B)與零寬度 NO-BREAK 空間(U+FEFF),這些字元在 .NET Framework 4 及以後版本的 Trim() 方法中未被移除。 此外,.NET Framework 3.5 SP1 及更早版本中的方法 Trim() 不會裁剪三個 Unicode 空白字元:蒙古元音分隔符(U+180E)、狹 NO-BREAK 空間(U+202F)和 MEDIUM MATHEMATICAL SPACE(U+205F)。

另請參閱

適用於

Trim()

移除目前字串中所有前置與後方空白字元。

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

傳回

在所有空白字元從當前字串的起始與結尾移除後,剩下的字串。 如果無法從目前的實例修剪任何字元,此方法會傳回未變更的目前實例。

範例

以下範例使用 String.Trim() 了使用者在串接前移除字串中多餘空白的方法。

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 Regular Expressions

Note

若方法 Trim 移除當前實例中的任何字元,該方法不會改變當前實例的值。 取而代之的是,它會回傳一個新字串,將當前實例中所有前置和後方的空白字元移除。

如果目前字串 Empty 等於或目前實例中的所有字元皆為空白字元,則該方法回傳 Empty

空白字元由 Unicode 標準定義。 此Trim方法會移除任何在傳遞時Char.IsWhiteSpace產生回傳值true的前置和尾隨字元。

給呼叫者的注意事項

.NET Framework 3.5 SP1 及更早版本會維護一個內部的空白字元清單,此方法會被修剪。 從 .NET Framework 4 開始,該方法會裁剪所有 Unicode 空白字元(即在傳遞給 IsWhiteSpace(Char) 方法時產生 true 回傳值的字元)。 由於此變更, Trim() .NET Framework 3.5 SP1 及更早版本中的方法移除了兩個字元:零寬度空間(U+200B)與零寬度 NO-BREAK 空間(U+FEFF),而 Trim() .NET Framework 4 及以後版本的方法則未移除這些字元。 此外,.NET Framework 3.5 SP1 及更早版本中的方法 Trim() 不會裁剪三個 Unicode 空白字元:蒙古元音分隔符(U+180E)、狹 NO-BREAK 空間(U+202F)和 MEDIUM MATHEMATICAL SPACE(U+205F)。

另請參閱

適用於