String.TrimStart Metoda

Definice

Přetížení

TrimStart()

Odebere všechny počáteční prázdné znaky z aktuálního řetězce.

TrimStart(Char)

Odebere všechny počáteční výskyty zadaného znaku z aktuálního řetězce.

TrimStart(Char[])

Odebere všechny počáteční výskyty sady znaků zadané v poli z aktuálního řetězce.

TrimStart()

Zdroj:
String.Manipulation.cs
Zdroj:
String.Manipulation.cs
Zdroj:
String.Manipulation.cs

Odebere všechny počáteční prázdné znaky z aktuálního řetězce.

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

Návraty

Řetězec, který zůstane po odebrání všech prázdných znaků ze začátku aktuálního řetězce. Pokud nelze z aktuální instance oříznout žádné znaky, vrátí metoda aktuální instanci beze změny.

Poznámky

Metoda TrimStart odebere z aktuálního řetězce všechny počáteční prázdné znaky. Operace oříznutí se zastaví, když je zjištěn znak bez prázdných znaků. Pokud je například aktuální řetězec " abc xyz ", TrimStart vrátí metoda "abc xyz ".

Poznámka

TrimStart Pokud metoda odebere z aktuální instance nějaké znaky, tato metoda nezmění hodnotu aktuální instance. Místo toho vrátí nový řetězec, ve kterém jsou odebrány všechny počáteční prázdné znaky nalezené v aktuální instanci.

Platí pro

TrimStart(Char)

Zdroj:
String.Manipulation.cs
Zdroj:
String.Manipulation.cs
Zdroj:
String.Manipulation.cs

Odebere všechny počáteční výskyty zadaného znaku z aktuálního řetězce.

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

Parametry

trimChar
Char

Znak unicode, který chcete odebrat.

Návraty

Řetězec, který zůstane po odebrání všech výskytů znaku trimChar ze začátku aktuálního řetězce. Pokud nelze z aktuální instance oříznout žádné znaky, vrátí metoda aktuální instanci beze změny.

Poznámky

Metoda TrimStart(System.Char) odebere z aktuálního řetězce všechny počáteční trimChar znaky. Operace oříznutí se zastaví, když je nalezen znak, který není trimChar nalezen. Pokud trimChar je například a - aktuální řetězec je "---abc---xyz----", TrimStart(System.Char) vrátí metoda "abc---xyz----".

Poznámka

TrimStart(System.Char) Pokud metoda odebere z aktuální instance nějaké znaky, tato metoda nezmění hodnotu aktuální instance. Místo toho vrátí nový řetězec, ve kterém jsou odebrány všechny počáteční trimChar znaky nalezené v aktuální instanci.

Platí pro

TrimStart(Char[])

Zdroj:
String.Manipulation.cs
Zdroj:
String.Manipulation.cs
Zdroj:
String.Manipulation.cs

Odebere všechny počáteční výskyty sady znaků zadané v poli z aktuálního řetězce.

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

Parametry

trimChars
Char[]

Pole znaků Unicode, které se mají odebrat, nebo null.

Návraty

Řetězec, který zůstane po všech výskytech znaků v parametru trimChars jsou odebrány ze začátku aktuálního řetězce. Pokud trimChars je null nebo je pole prázdné, prázdné znaky se místo toho odeberou. Pokud nelze z aktuální instance oříznout žádné znaky, vrátí metoda aktuální instanci beze změny.

Příklady

Následující příklad ukazuje základní funkce TrimStart metody :

// 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
// TrimStart examples
let lineWithLeadingSpaces = "   Hello World!"
let lineWithLeadingSymbols = "$$$$Hello World!"
let lineWithLeadingUnderscores = "_____Hello World!"
let lineWithLeadingLetters = "xxxxHello World!"

// Make it easy to print out and work with all of the examples
let lines = [| lineWithLeadingSpaces; lineWithLeadingSymbols; lineWithLeadingUnderscores; lineWithLeadingLetters |]

for line in lines do
    printfn $"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
let lineAfterTrimStart = lineWithLeadingSpaces.TrimStart ' '
printfn $"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,
for lineToEdit in lines do
    printfn $"""{lineToEdit.TrimStart(' ', '$', '_', 'x')}"""
// Result for each: Hello World!

// or handle pieces of data that have multiple kinds of leading characters 
let lineToBeTrimmed = "__###__ John Smith"
let lineAfterTrimStart2 = lineToBeTrimmed.TrimStart('_', '#', ' ')
printfn $"{lineAfterTrimStart2}"
// Result: John Smith
Public Sub Main()
   ' TrimStart Examples
   Dim lineWithLeadingSpaces as String = "   Hello World!"
   Dim lineWithLeadingSymbols as String = "$$$$Hello World!"
   Dim lineWithLeadingUnderscores as String = "_____Hello World!"
   Dim lineWithLeadingLetters as String = "xxxxHello World!"
   Dim lineAfterTrimStart = String.Empty

   ' Make it easy to print out and work with all of the examples
   Dim lines As String() = { lineWithLeadingSpaces, line lineWithLeadingSymbols, lineWithLeadingUnderscores, lineWithLeadingLetters }

   For Each line As String in lines
     Console.WriteLine($"This line has leading characters: {line}")
   Next
   ' 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!

   Console.WriteLine($"This line has leading spaces: {lineWithLeadingSpaces}")
   ' This line has leading spaces:   Hello World!

   ' A basic demonstration of TrimStart in action
   lineAfterTrimStart = lineWithLeadingSpaces.TrimStart(" "c)
   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,
   For Each lineToEdit As String in lines
     Console.WriteLine(lineToEdit.TrimStart(" "c, "$"c, "_"c, "x"c ))
   Next
   ' Result for each: Hello World!

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

 End Sub

Následující příklad používá metodu k oříznutí prázdných TrimStart znaků a komentářů z řádků zdrojového kódu. Metoda StripComments zabalí volání a TrimStart předá jí pole znaků, které obsahuje mezeru a znak komentáře, což je apostrof ( ' ) v jazyce Visual Basic a lomítko ( / ) v jazyce C# nebo F#. Metoda TrimStart je také volána, aby se při vyhodnocování, zda je řetězec komentářem, odstranila počáteční prázdné znaky.

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();
}
let stripComments (lines: #seq<string>) =
    [|  for line in lines do
            if line.TrimStart(' ').StartsWith "//" then
                line.TrimStart(' ', '/') |]
Public Shared Function StripComments(lines() As String) As String()
   Dim lineList As New List(Of String)
   For Each line As String In lines
      If line.TrimStart(" "c).StartsWith("'") Then
         linelist.Add(line.TrimStart("'"c, " "c))
      End If
   Next
   Return lineList.ToArray()
End Function

Následující příklad pak ilustruje volání StripComments metody .

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.
let lines = 
    [| "module HelloWorld"
       ""
       "[<EntryPoint>]"
       "let main _ ="
       "    // This code displays a simple greeting"
       "    // to the console."
       "    printfn \"Hello, World.\""
       "    0" |]
printfn "Before call to StripComments:"
for line in lines do
    printfn $"   {line}"

let strippedLines = stripComments lines
printfn "After call to StripComments:"
for line in strippedLines do
    printfn $"   {line}"
// This code produces the following output to the console:
//    Before call to StripComments:
//       module HelloWorld
//
//       [<EntryPoint>]
//       let main _ =
//           // This code displays a simple greeting
//           // to the console.
//           printfn "Hello, World."
//           0
//    After call to StripComments:
//       This code displays a simple greeting
//       to the console.
Public Shared Sub Main()
   Dim lines() As String = {"Public Module HelloWorld", _
                            "   Public Sub Main()", _
                            "      ' This code displays a simple greeting", _
                            "      ' to the console.", _
                            "      Console.WriteLine(""Hello, World."")", _
                            "   End Sub", _
                            " End Module"}
   Console.WriteLine("Code before call to StripComments:")
   For Each line As String In lines
      Console.WriteLine("   {0}", line)                         
   Next                            
   
   Dim strippedLines() As String = StripComments(lines) 
   Console.WriteLine("Code after call to StripComments:")
   For Each line As String In strippedLines
      Console.WriteLine("   {0}", line)                         
   Next                            
End Sub
' This code produces the following output to the console:
'    Code before call to StripComments:
'       Public Module HelloWorld
'          Public Sub Main()
'             ' This code displays a simple greeting
'             ' to the console.
'             Console.WriteLine("Hello, World.")
'          End Sub
'       End Module
'    Code after call to StripComments:
'       This code displays a simple greeting
'       to the console.

Poznámky

Metoda TrimStart(System.Char[]) odebere z aktuálního řetězce všechny počáteční znaky, které jsou v parametru trimChars . Operace oříznutí se zastaví, když je nalezen znak, který není v trimChars . Pokud je například aktuální řetězec "123abc456xyz789" a trimChars obsahuje číslice od "1" do "9", TrimStart(System.Char[]) vrátí metoda "abc456xyz789".

Poznámka

TrimStart(System.Char[]) Pokud metoda odebere z aktuální instance nějaké znaky, tato metoda nezmění hodnotu aktuální instance. Místo toho vrátí nový řetězec, ve kterém jsou odebrány všechny úvodní znaky, které jsou v parametru trimChars nalezeny v aktuální instanci.

Poznámky pro volající

Rozhraní .NET Framework 3.5 SP1 a starší verze udržuje interní seznam prázdných znaků, které tato metoda oříznou, pokud trimChars je null nebo prázdné pole. Počínaje rozhraním .NET Framework 4, pokud trimChars je null nebo prázdné pole, metoda ořízne všechny prázdné znaky Unicode (to znamená znaky, které při předání metodě IsWhiteSpace(Char) vygenerují návratovou true hodnotu). Z důvodu této změny Trim() metoda v rozhraní .NET Framework 3.5 SP1 a starších verzích odebere dva znaky, NULOVÉ MEZERY (U+200B) a NULOVÉ ŠÍŘKY BEZ PŘERUŠENÍ MEZERY (U+FEFF), které Trim() metoda v rozhraní .NET Framework 4 a novějších verzích neodebere. Kromě toho Trim() metoda v rozhraní .NET Framework 3.5 SP1 a starších verzích neořízne tři prázdné znaky Unicode: MONGOLSKÝ ODDĚLOVAČ SAMOHLÁSEK (U+180E), ÚZKÝ MEZERA BEZ PŘERUŠENÍ (U+202F) a STŘEDNÍ MATEMATICKÝ PROSTOR (U+205F).

Viz také

Platí pro