String.TrimStart 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| TrimStart(Rune) | |
| TrimStart(Char[]) |
從目前字串中移除陣列中指定的一組字元的所有前置專案。 |
| TrimStart(Char) |
從目前字串中移除指定字元的所有前置專案。 |
| 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[]
一組 Unicode 字元陣列,用來移除,或 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 前置字元。 當遇到不在 Line trimChars 的字元時,修剪操作就會停止。 例如,如果目前字串是「123abc456xyz789」,且 trimChars 包含「1」到「9」的數字,則該 TrimStart(System.Char[]) 方法會回傳「abc456xyz789」。
注意
若方法 TrimStart(System.Char[]) 移除當前實例中的任何字元,該方法不會改變當前實例的值。 取而代之的是,它會回傳一個新字串,將目前實例中參數中所有的 trimChars 前導字元都被移除。
給呼叫者的注意事項
.NET Framework 3.5 SP1 及更早版本維護一個內部的空白字元清單,若 trimChars 為 或 null 為空陣列,此方法會修剪。 從 .NET Framework 4 開始,若trimChars是null空陣列,該方法會修剪所有 Unicode 空白字元(即傳遞給IsWhiteSpace(Char)方法時會產生true回傳值的字元)。 由於此變更, Trim() .NET Framework 3.5 SP1 及更早版本中的方法移除了兩個字元:零寬度空間(U+200B)與零寬度 NO-BREAK 空間(U+FEFF),而 Trim() .NET Framework 4 及以後版本的方法則未移除這些字元。 此外,.NET Framework 3.5 SP1 及更早版本中的方法 Trim() 不會裁剪三個 Unicode 空白字元:蒙古元音分隔符(U+180E)、狹 NO-BREAK 空間(U+202F)和 MEDIUM MATHEMATICAL SPACE(U+205F)。
另請參閱
適用於
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
要移除的 Unicode 字元。
傳回
所有出現該字元後 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
傳回
在目前字串開頭移除所有空格符之後所保留的字串。 如果無法從目前的實例修剪任何字元,此方法會傳回未變更的目前實例。
備註
此 TrimStart 方法會從目前字串中移除所有前置空白字元。 當遇到非空格符時,修剪作業會停止。 例如,如果目前字串是「abc xyz」,該方法會 TrimStart 回傳「abc xyz」。
注意
若方法 TrimStart 移除當前實例中的任何字元,該方法不會改變當前實例的值。 相反地,它會傳回新的字串,其中會移除目前實例中找到的所有前置空格符。