String.TrimStart Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
TrimStart(ReadOnlySpan<Char>) |
Удаляет все начальные вхождения набора символов, указанных в диапазоне из текущей строки. |
TrimStart() |
Удаляет все начальные пробелы из текущей строки. |
TrimStart(Char) |
Удаляет все начальные вхождения указанного символа из текущей строки. |
TrimStart(Char[]) |
Удаляет все начальные вхождения набора символов, указанных в массиве из текущей строки. |
TrimStart(ReadOnlySpan<Char>)
Удаляет все начальные вхождения набора символов, указанных в диапазоне из текущей строки.
public:
System::String ^ TrimStart(ReadOnlySpan<char> trimChars);
public string TrimStart (scoped ReadOnlySpan<char> trimChars);
member this.TrimStart : ReadOnlySpan<char> -> string
Public Function TrimStart (trimChars As ReadOnlySpan(Of Char)) As String
Параметры
- trimChars
- ReadOnlySpan<Char>
Диапазон символов Юникода для удаления.
Возвращаемое значение
Строка, которая остается после всех вхождения символов в параметре trimChars
, удаляется с начала текущей строки.
Если trimChars
пуст, вместо этого удаляются символы пробелов.
Если символы не могут быть обрезаны из текущего экземпляра, метод возвращает текущий экземпляр без изменений.
Применяется к
TrimStart()
- Исходный код:
- String.Manipulation.cs
- Исходный код:
- String.Manipulation.cs
- Исходный код:
- String.Manipulation.cs
Удаляет все начальные пробелы из текущей строки.
public:
System::String ^ TrimStart();
public string TrimStart ();
member this.TrimStart : unit -> string
Public Function TrimStart () As String
Возвращаемое значение
Строка, которая остается после удаления всех символов пробелов из начала текущей строки. Если символы не могут быть обрезаны из текущего экземпляра, метод возвращает текущий экземпляр без изменений.
Комментарии
Метод TrimStart
удаляет из текущей строки все ведущие символы пробела. Операция обрезки останавливается при обнаружении символа, отличного от пробела. Например, если текущая строка имеет значение "abc xyz", метод TrimStart
возвращает "abc xyz".
Заметка
Если метод TrimStart
удаляет любые символы из текущего экземпляра, этот метод не изменяет значение текущего экземпляра. Вместо этого возвращается новая строка, в которой удаляются все начальные символы пробелов, найденные в текущем экземпляре.
Применяется к
TrimStart(Char)
- Исходный код:
- String.Manipulation.cs
- Исходный код:
- String.Manipulation.cs
- Исходный код:
- String.Manipulation.cs
Удаляет все начальные вхождения указанного символа из текущей строки.
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
Символ Юникода, который нужно удалить.
Возвращаемое значение
Строка, которая остается после всех вхождения символов trimChar
, удаляется с начала текущей строки. Если символы не могут быть обрезаны из текущего экземпляра, метод возвращает текущий экземпляр без изменений.
Комментарии
Метод TrimStart(System.Char)
удаляет из текущей строки все начальные trimChar
символы. Операция обрезки останавливается при обнаружении символа, не trimChar
. Например, если trimChar
-
, а текущая строка — "---abc---xyz----", метод TrimStart(System.Char)
возвращает "abc---xyz----".
Заметка
Если метод TrimStart(System.Char)
удаляет любые символы из текущего экземпляра, этот метод не изменяет значение текущего экземпляра. Вместо этого возвращается новая строка, в которой удаляются все начальные trimChar
символы, найденные в текущем экземпляре.
Применяется к
TrimStart(Char[])
- Исходный код:
- String.Manipulation.cs
- Исходный код:
- String.Manipulation.cs
- Исходный код:
- String.Manipulation.cs
Удаляет все начальные вхождения набора символов, указанных в массиве из текущей строки.
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
.
Возвращаемое значение
Строка, которая остается после всех вхождения символов в параметре 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) и более ранних версиях удаляет два символа, НОЛЬ ШИРИНЫ (U+200B) и НУЛЕВОЙ ШИРИНЫ NO-BREAK ПРОБЕЛ (U+FEFF), что метод Trim() в .NET Framework 4 и более поздних версиях не удаляется. Кроме того, метод Trim() в .NET Framework 3.5 с пакетом обновления 1 (SP1) и более ранних версиях не обрезает три символа пробела Юникода: РАЗДЕЛИТЕЛЬ VOWEL (U+180E), СУЗИТЬ NO-BREAK ПРОБЕЛ (U+202F) и СРЕДНИЙ МАТЕМАТИЧЕСКИЙ ПРОБЕЛ (U+205F).