String.TrimStart Metoda

Definicja

Przeciążenia

TrimStart(ReadOnlySpan<Char>)

Usuwa wszystkie wiodące wystąpienia zestawu znaków określonego w zakresie z bieżącego ciągu.

TrimStart()

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

TrimStart(Char)

Usuwa wszystkie wiodące wystąpienia określonego znaku z bieżącego ciągu.

TrimStart(Char[])

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

TrimStart(ReadOnlySpan<Char>)

Usuwa wszystkie wiodące wystąpienia zestawu znaków określonego w zakresie z bieżącego ciągu.

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

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

.NET 9
Produkt Wersje
.NET 9

TrimStart()

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

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

C#
public string TrimStart ();

Zwraca

Ciąg, który pozostaje po usunięciu wszystkich znaków odstępu od początku 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 TrimStart usuwa z bieżącego ciągu wszystkie wiodące znaki odstępu. Operacja przycinania zatrzymuje się, gdy napotkany jest znak bez odstępu. Jeśli na przykład bieżący ciąg to " abc xyz ", metoda TrimStart zwraca wartość "abc xyz".

Uwaga

Jeśli metoda TrimStart 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 znaki odstępu znajdujące się w bieżącym wystąpieniu.

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

TrimStart(Char)

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

Usuwa wszystkie wiodące wystąpienia określonego znaku z bieżącego ciągu.

C#
public string TrimStart (char trimChar);

Parametry

trimChar
Char

Znak Unicode do usunięcia.

Zwraca

Ciąg, który pozostaje po wszystkich wystąpieniach znaku trimChar, zostanie usunięty z początku 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 TrimStart(System.Char) usuwa z bieżącego ciągu wszystkie wiodące znaki trimChar. Operacja przycinania zatrzymuje się, gdy napotkano znak, który nie jest trimChar. Jeśli na przykład trimChar jest -, a bieżący ciąg to "---abc---xyz----", metoda TrimStart(System.Char) zwraca wartość "abc---xyz----".

Uwaga

Jeśli metoda TrimStart(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 znaki trimChar znalezione w bieżącym wystąpieniu.

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

TrimStart(Char[])

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

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

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

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 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 przedstawiono podstawowe funkcje metody TrimStart:

C#
// TrimStart examples
string lineWithLeadingSpaces = "   Hello World!";
string lineWithLeadingSymbols = "$$$$Hello World!";
string lineWithLeadingUnderscores = "_____Hello World!";
string lineWithLeadingLetters = "xxxxHello World!";
string lineAfterTrimStart = string.Empty;

// Make it easy to print out and work with all of the examples
string[] lines = { lineWithLeadingSpaces, lineWithLeadingSymbols, lineWithLeadingUnderscores, lineWithLeadingLetters };

foreach (var line in lines)
{
    Console.WriteLine($"This line has leading characters: {line}");
}
// Output:
// This line has leading characters:    Hello World!
// This line has leading characters: $$$$Hello World!
// This line has leading characters: _____Hello World!
// This line has leading characters: xxxxHello World!

// A basic demonstration of TrimStart in action
lineAfterTrimStart = lineWithLeadingSpaces.TrimStart(' ');
Console.WriteLine($"This is the result after calling TrimStart: {lineAfterTrimStart}");
// This is the result after calling TrimStart: Hello World!   

// Since TrimStart accepts a character array of leading items to be removed as an argument,
// it's possible to do things like trim multiple pieces of data that each have different 
// leading characters,
foreach (var lineToEdit in lines)
{
    Console.WriteLine(lineToEdit.TrimStart(' ', '$', '_', 'x'));
}
// Result for each: Hello World!

// or handle pieces of data that have multiple kinds of leading characters 
var lineToBeTrimmed = "__###__ John Smith";
lineAfterTrimStart = lineToBeTrimmed.TrimStart('_', '#', ' ');
Console.WriteLine(lineAfterTrimStart);
// Result: John Smith

W poniższym przykładzie użyto metody TrimStart do przycinania białych znaków i komentarzy z wierszy kodu źródłowego. Metoda StripComments opakowuje wywołanie TrimStart i przekazuje do niej tablicę znaków zawierającą spację i znak komentarza, który jest apostrofem ( ' ) w Visual Basic i ukośnikiem ( / ) w języku C# lub F#. Metoda TrimStart jest również wywoływana w celu usunięcia wiodącego odstępu podczas oceniania, czy ciąg jest komentarzem.

C#
public static string[] StripComments(string[] lines)
{
    List<string> lineList = new List<string>();
    foreach (string line in lines)
    {
        if (line.TrimStart(' ').StartsWith("//"))
            lineList.Add(line.TrimStart(' ', '/'));
    }
    return lineList.ToArray();
}

Poniższy przykład ilustruje wywołanie metody StripComments.

C#
public static void Main()
{
    string[] lines = {"using System;",
                   "",
                   "public class HelloWorld",
                   "{",
                   "   public static void Main()",
                   "   {",
                   "      // This code displays a simple greeting",
                   "      // to the console.",
                   "      Console.WriteLine(\"Hello, World.\");",
                   "   }",
                   "}"};
    Console.WriteLine("Before call to StripComments:");
    foreach (string line in lines)
        Console.WriteLine("   {0}", line);

    string[] strippedLines = StripComments(lines);
    Console.WriteLine("After call to StripComments:");
    foreach (string line in strippedLines)
        Console.WriteLine("   {0}", line);
}
// This code produces the following output to the console:
//    Before call to StripComments:
//       using System;
//   
//       public class HelloWorld
//       {
//           public static void Main()
//           {
//               // This code displays a simple greeting
//               // to the console.
//               Console.WriteLine("Hello, World.");
//           }
//       }  
//    After call to StripComments:
//       This code displays a simple greeting
//       to the console.

Uwagi

Metoda TrimStart(System.Char[]) usuwa z bieżącego ciągu wszystkie znaki wiodące, które znajdują się w parametrze trimChars. Operacja przycinania 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 TrimStart(System.Char[]) zwraca wartość "abc456xyz789".

Uwaga

Jeśli metoda TrimStart(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 usuwane są wszystkie znaki wiodące znajdujące się w parametrze trimChars znajdującym się w bieżącym wystąpieniu.

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

.NET 9 i inne wersje
Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0