String.TrimStart Метод

Определение

Перегрузки

TrimStart(Char)

Удаляет все начальные вхождения указанного символа из текущей строки.

TrimStart()

Удаляет все начальные символы пробела из текущей строки.

TrimStart(Char[])

Удаляет все начальные вхождения набора символов, заданного в виде массива, из текущей строки.

TrimStart(Char)

Удаляет все начальные вхождения указанного символа из текущей строки.

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

Параметры

trimChar
Char

Удаляемый символ Юникода.

Возвращаемое значение

String

Строка, оставшаяся после удаления всех вхождений символа trimChar из начала текущей строки. Если в текущем экземпляре невозможно усечь символы, метод возвращает текущий экземпляр без изменений.

Комментарии

Метод TrimStart(System.Char) удаляет из текущей строки все символы в начале trimChar . Операция обрезки останавливается при обнаружении символа, который отсутствует trimChar . Например, если trimChar имеет значение - и текущая строка — "---abc---xyz----", TrimStart(System.Char) метод возвращает "abc---xyz----".

Примечание

TrimStart(System.Char) Если метод удаляет символы из текущего экземпляра, этот метод не изменяет значение текущего экземпляра. Вместо этого он возвращает новую строку, в которой удаляются все ведущие trimChar символы, найденные в текущем экземпляре.

Применяется к

TrimStart()

Удаляет все начальные символы пробела из текущей строки.

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

Возвращаемое значение

String

Строка, оставшаяся после удаления всех символов пробела из начала текущей строки. Если в текущем экземпляре невозможно усечь символы, метод возвращает текущий экземпляр без изменений.

Комментарии

Метод TrimStart удаляет из текущей строки все символы пробела в начале. Операция обрезки останавливается при обнаружении символа, отличного от пробела. Например, если текущей строкой является "abc xyz", TrimStart метод возвращает "abc xyz".

Примечание

TrimStart Если метод удаляет символы из текущего экземпляра, этот метод не изменяет значение текущего экземпляра. Вместо этого он возвращает новую строку, в которой удаляются все символы пробелов в начале, найденные в текущем экземпляре.

Применяется к

TrimStart(Char[])

Удаляет все начальные вхождения набора символов, заданного в виде массива, из текущей строки.

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

Параметры

trimChars
Char[]

Массив удаляемых знаков Юникода или null.

Возвращаемое значение

String

Строка, оставшаяся после удаления всех вхождений символов, заданных в параметре trimChars, из начала текущей строки. Если значением параметра trimChars является null или пустой массив, удаляются символы-разделители. Если в текущем экземпляре невозможно усечь символы, метод возвращает текущий экземпляр без изменений.

Примеры

В следующем примере демонстрируется базовая функциональность TrimStart метода :

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

В следующем примере метод используется TrimStart для обрезки пробелов и символов комментария из строк исходного кода. Метод StripComments заключает в оболочку TrimStart вызов и передает ему массив символов, содержащий пробел и символ комментария, который является апострофом ( ' ) в Visual Basic и косой чертой ( / ) в C# или F#. Метод TrimStart также вызывается для удаления пробелов в начале при оценке того, является ли строка комментарием.

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

В следующем примере показан вызов метода StripComments.

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.

Комментарии

Метод TrimStart(System.Char[]) удаляет из текущей строки все символы, которые находятся в параметре trimChars . Операция обрезки останавливается при обнаружении символа, который отсутствует в trimChars . Например, если текущая строка имеет значение "123abc456xyz789" и trimChars содержит цифры от "1" до "9", TrimStart(System.Char[]) метод возвращает "abc456xyz789".

Примечание

TrimStart(System.Char[]) Если метод удаляет символы из текущего экземпляра, этот метод не изменяет значение текущего экземпляра. Вместо этого он возвращает новую строку, в которой удаляются все символы, которые находятся в trimChars параметре, найденном в текущем экземпляре.

Примечания для тех, кто вызывает этот метод

В платформа .NET Framework 3.5 с пакетом обновления 1 (SP1) и более ранних версиях поддерживается внутренний список символов пробелов, которые этот метод обрезает, если trimChars является null или пустым массивом. Начиная с платформа .NET Framework 4, если trimChars является null или пустым массивом, метод обрезает все пробелы в Юникоде (т. е. символы, которые создают возвращаемое true значение при их передаче в IsWhiteSpace(Char) метод). Из-за этого изменения Trim() метод в платформа .NET Framework 3.5 с пакетом обновления 1 (SP1) и более ранних версиях удаляет два символа: ZERO WIDTH SPACE (U+200B) и ZERO WIDTH NO-BREAK SPACE (U+FEFF), которые Trim() метод в платформа .NET Framework 4 и более поздних версиях не удаляет. Кроме того, Trim() метод в платформа .NET Framework 3.5 с пакетом обновления 1 (SP1) и более ранних версиях не обрезает три символа пробела Юникода: МОНГОЛЬСКИЙ ГЛАСНЫЙ РАЗДЕЛИТЕЛЬ (U+180E), NARROW NO-BREAK SPACE (U+202F) и MEDIUM MATHEMATICAL SPACE (U+205F).

См. также раздел

Применяется к