Udostępnij za pośrednictwem


String.Trim Metoda

Definicja

Zwraca nowy ciąg, w którym usuwane są wszystkie wystąpienia wiodące i końcowe zestawu określonych znaków z bieżącego ciągu.

Przeciążenia

Trim(Char)

Usuwa wszystkie wystąpienia wiodące i końcowe znaku z bieżącego ciągu.

Trim(ReadOnlySpan<Char>)

Usuwa wszystkie wystąpienia wiodące i końcowe zestawu znaków określonych w zakresie z bieżącego ciągu.

Trim()

Usuwa wszystkie wiodące i końcowe znaki odstępu z bieżącego ciągu.

Trim(Char[])

Usuwa wszystkie wystąpienia wiodące i końcowe zestawu znaków określonych w tablicy z bieżącego ciągu.

Trim(Char)

Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs

Usuwa wszystkie wystąpienia wiodące i końcowe znaku z bieżącego ciągu.

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

Parametry

trimChar
Char

Znak Unicode do usunięcia.

Zwraca

Ciąg, który pozostaje po usunięciu wszystkich wystąpień znaku trimChar od początku i końca bieżącego ciągu. Jeśli nie można przyciąć znaków z bieżącego wystąpienia, metoda zwraca bieżące wystąpienie bez zmian.

Uwagi

Metoda Trim(System.Char) usuwa z bieżącego ciągu wszystkie wiodące i końcowe wystąpienia znaku trimChar. Każda operacja przycinania wiodącego i końcowego zatrzymuje się, gdy napotkany jest znak inny niż trimChar. Jeśli na przykład trimChar jest -, a bieżący ciąg to "---abc---xyz----", metoda Trim(System.Char) zwraca wartość "abc---xyz". Aby usunąć znaki między wyrazami w ciągu, użyj wyrażenia regularne platformy .NET.

Nuta

Jeśli metoda Trim(System.Char) usuwa wszelkie znaki z bieżącego wystąpienia, ta metoda nie modyfikuje wartości bieżącego wystąpienia. Zamiast tego zwraca nowy ciąg, w którym są usuwane wszystkie wiodące i końcowe trimChar znaki znalezione w bieżącym wystąpieniu.

Jeśli bieżący ciąg jest równy Empty lub wszystkie znaki w bieżącym wystąpieniu składają się z trimChar znaków, metoda zwraca Empty.

Dotyczy

Trim(ReadOnlySpan<Char>)

Usuwa wszystkie wystąpienia wiodące i końcowe zestawu znaków określonych w zakresie z bieżącego ciągu.

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

Parametry

trimChars
ReadOnlySpan<Char>

Zakres znaków Unicode do usunięcia.

Zwraca

Ciąg, który pozostaje po wszystkich wystąpieniach znaków w parametrze trimChars, zostaną usunięte z początku i końca bieżącego ciągu. Jeśli trimChars jest pusta, zamiast tego zostaną usunięte znaki odstępu. Jeśli nie można przyciąć znaków z bieżącego wystąpienia, metoda zwraca bieżące wystąpienie bez zmian.

Dotyczy

Trim()

Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs

Usuwa wszystkie wiodące i końcowe znaki odstępu z bieżącego ciągu.

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

Zwraca

Ciąg, który pozostaje po usunięciu wszystkich znaków odstępu od początku i końca bieżącego ciągu. Jeśli nie można przyciąć znaków z bieżącego wystąpienia, metoda zwraca bieżące wystąpienie bez zmian.

Przykłady

W poniższym przykładzie użyto metody String.Trim(), aby usunąć wszelkie dodatkowe odstępy z ciągów wprowadzonych przez użytkownika przed ich połączeniem.

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.

Uwagi

Metoda Trim usuwa z bieżącego ciągu wszystkie wiodące i końcowe znaki odstępu. Każda operacja przycinania wiodącego i końcowego zatrzymuje się po napotkaniu znaku innego niż odstęp. Jeśli na przykład bieżący ciąg to " abc xyz ", metoda Trim zwraca wartość "abc xyz". Aby usunąć znaki odstępu między wyrazami w ciągu, użyj wyrażenia regularne platformy .NET.

Nuta

Jeśli metoda Trim usuwa wszelkie znaki z bieżącego wystąpienia, ta metoda nie modyfikuje wartości bieżącego wystąpienia. Zamiast tego zwraca nowy ciąg, w którym usuwane są wszystkie wiodące i końcowe białe znaki znalezione w bieżącym wystąpieniu.

Jeśli bieżący ciąg jest równy Empty lub wszystkie znaki w bieżącym wystąpieniu składają się z białych znaków, metoda zwraca Empty.

Znaki odstępu są definiowane przez standard Unicode. Metoda Trim usuwa wszystkie znaki wiodące i końcowe, które generują wartość zwracaną true po przekazaniu ich do metody Char.IsWhiteSpace.

Uwagi dotyczące wywoływania

Program .NET Framework 3.5 z dodatkiem SP1 i starsze wersje utrzymują wewnętrzną listę znaków odstępów, które ta metoda przycina. Począwszy od programu .NET Framework 4, metoda przycina wszystkie znaki spacji Unicode (czyli znaki, które generują true zwracaną wartość po przekazaniu ich do metody IsWhiteSpace(Char)). Ze względu na tę zmianę metoda Trim() w programie .NET Framework 3.5 z dodatkiem SP1 i wcześniejszych wersjach usuwa dwa znaki, zero WIDTH SPACE (U+200B) i ZERO WIDTH NO-BREAK SPACE (U+FEFF), że metoda Trim() w programie .NET Framework 4 i nowszych wersjach nie zostanie usunięta. Ponadto metoda Trim() w programie .NET Framework 3.5 SP1 i wcześniejszych wersjach nie przycina trzech znaków odstępów Unicode: SEPARATOR VOWEL MONGOLN (U+180E), WĄSKI NO-BREAK SPACJI (U+202F) i ŚREDNIEJ PRZESTRZENI MATEMATYCZNEJ (U+205F).

Zobacz też

Dotyczy

Trim(Char[])

Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs
Źródło:
String.Manipulation.cs

Usuwa wszystkie wystąpienia wiodące i końcowe zestawu znaków określonych w tablicy z bieżącego ciągu.

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

Parametry

trimChars
Char[]

Tablica znaków Unicode do usunięcia lub null.

Zwraca

Ciąg, który pozostaje po wszystkich wystąpieniach znaków w parametrze trimChars, zostaną usunięte z początku i końca bieżącego ciągu. Jeśli trimChars jest null lub pusta tablica, zamiast tego zostaną usunięte znaki odstępu. Jeśli nie można przyciąć znaków z bieżącego wystąpienia, metoda zwraca bieżące wystąpienie bez zmian.

Przykłady

W poniższym przykładzie użyto metody Trim(System.Char[]), aby usunąć spację, gwiazdkę (*)i znaki apostrofu (') z ciągu.

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'

Uwagi

Metoda Trim(System.Char[]) usuwa z bieżącego ciągu wszystkie znaki wiodące i końcowe, które znajdują się w parametrze trimChars. Każda operacja przycinania wiodącego i końcowego zatrzymuje się, gdy napotkano znak, który nie znajduje się w trimChars. Jeśli na przykład bieżący ciąg to "123abc456xyz789" i trimChars zawiera cyfry od "1" do "9", metoda Trim(System.Char[]) zwraca wartość "abc456xyz".

Nuta

Jeśli metoda Trim(System.Char[]) usuwa wszelkie znaki z bieżącego wystąpienia, ta metoda nie modyfikuje wartości bieżącego wystąpienia. Zamiast tego zwraca nowy ciąg, w którym są usuwane wszystkie wiodące i końcowe trimChars znaki znalezione w bieżącym wystąpieniu.

Jeśli bieżący ciąg jest równy Empty lub wszystkie znaki w bieżącym wystąpieniu składają się z znaków w tablicy trimChars, metoda zwraca Empty.

Jeśli trimChars jest null lub pusta tablica, ta metoda usuwa wszelkie znaki wiodące lub końcowe, które powodują zwrócenie true metody po przekazaniu ich do metody Char.IsWhiteSpace.

Uwagi dotyczące wywoływania

Program .NET Framework 3.5 z dodatkiem SP1 i starsze wersje obsługuje wewnętrzną listę znaków odstępów, które ta metoda przycina, jeśli trimChars jest null lub pusta tablica. Począwszy od programu .NET Framework 4, jeśli trimChars jest null lub pusta tablica, metoda przycina wszystkie znaki spacji Unicode (czyli znaki, które generują true wartość zwracaną po przekazaniu ich do metody IsWhiteSpace(Char)). Ze względu na tę zmianę metoda Trim() w programie .NET Framework 3.5 z dodatkiem SP1 i wcześniejszych wersjach usuwa dwa znaki, zero WIDTH SPACE (U+200B) i ZERO WIDTH NO-BREAK SPACE (U+FEFF), że metoda Trim() w programie .NET Framework 4 i nowszych wersjach nie zostanie usunięta. Ponadto metoda Trim() w programie .NET Framework 3.5 SP1 i wcześniejszych wersjach nie przycina trzech znaków odstępów Unicode: SEPARATOR VOWEL MONGOLN (U+180E), WĄSKI NO-BREAK SPACJI (U+202F) i ŚREDNIEJ PRZESTRZENI MATEMATYCZNEJ (U+205F).

Zobacz też

Dotyczy