String.Trim 方法

定义

返回一个新字符串,其中从当前字符串中删除一组指定字符的所有前导和尾随匹配项。

重载

Trim(Char)

从当前字符串中删除字符的所有前导和尾随实例。

Trim(ReadOnlySpan<Char>)

从当前字符串中删除在范围中指定的一组字符的所有前导和尾随匹配项。

Trim()

从当前字符串中删除所有前导和尾随空格字符。

Trim(Char[])

从当前字符串中删除数组中指定的一组字符的所有前导和尾随匹配项。

Trim(Char)

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

从当前字符串中删除字符的所有前导和尾随实例。

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 正则表达式

注意

如果 Trim(System.Char) 方法从当前实例中删除任何字符,此方法不会修改当前实例的值。 而是返回一个新字符串,其中删除当前实例中找到的所有前导和尾随 trimChar 字符。

如果当前字符串等于 Empty 或当前实例中的所有字符由 trimChar 个字符组成,该方法将返回 Empty

适用于

Trim(ReadOnlySpan<Char>)

从当前字符串中删除在范围中指定的一组字符的所有前导和尾随匹配项。

public:
 System::String ^ Trim(ReadOnlySpan<char> trimChars);
public string Trim (scoped ReadOnlySpan<char> trimChars);
member this.Trim : ReadOnlySpan<char> -> string
Public Function Trim (trimChars As ReadOnlySpan(Of Char)) As String

参数

trimChars
ReadOnlySpan<Char>

要删除的 Unicode 字符的范围。

返回

trimChars 参数中出现的所有字符之后保留的字符串将从当前字符串的开头和结尾删除。 如果 trimChars 为空,则会删除空格字符。 如果当前实例中无法剪裁任何字符,该方法将返回当前实例不变。

适用于

Trim()

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

从当前字符串中删除所有前导和尾随空格字符。

public:
 System::String ^ Trim();
public string Trim ();
member this.Trim : unit -> string
Public Function Trim () As 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 正则表达式

注意

如果 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() 方法删除了两个字符:零宽度空间(U+200B)和零宽度 NO-BREAK 空格(U+FEFF),即 .NET Framework 4 及更高版本中的 Trim() 方法不会删除。 此外,.NET Framework 3.5 SP1 和早期版本中的 Trim() 方法不会剪裁三个 Unicode 空格字符:MONGOLIAN VOWEL 分隔符(U+180E)、NARROW NO-BREAK SPACE(U+202F)和中等数学空间(U+205F)。

另请参阅

适用于

Trim(Char[])

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

从当前字符串中删除数组中指定的一组字符的所有前导和尾随匹配项。

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[]

要删除或 null的 Unicode 字符数组。

返回

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

如果 trimCharsnull 或空数组,此方法将删除任何前导或尾随字符,这些字符在传递给 Char.IsWhiteSpace 方法时返回 true

调用方说明

如果 trimCharsnull 或空数组,.NET Framework 3.5 SP1 和早期版本会维护此方法剪裁的空白字符的内部列表。 从 .NET Framework 4 开始,如果 trimCharsnull 或空数组,该方法将剪裁所有 Unicode 空格字符(也就是说,当字符传递到 IsWhiteSpace(Char) 方法时生成 true 返回值的字符)。 由于此更改,.NET Framework 3.5 SP1 及更低版本中的 Trim() 方法删除了两个字符:零宽度空间(U+200B)和零宽度 NO-BREAK 空格(U+FEFF),.NET Framework 4 及更高版本中的 Trim() 方法不会删除。 此外,.NET Framework 3.5 SP1 和早期版本中的 Trim() 方法不会剪裁三个 Unicode 空格字符:MONGOLIAN VOWEL 分隔符(U+180E)、NARROW NO-BREAK SPACE(U+202F)和中等数学空间(U+205F)。

另请参阅

适用于