String.TrimStart 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
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>
傳回
適用於
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
如果方法從目前實例移除任何字元,這個方法就不會修改目前實例的值。 相反地,它會傳回新的字串,其中會移除目前實例中找到的所有前置空白字元。
適用於
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
遇到的字元時停止。 例如,如果 is trimChar
-
且目前的字串為 「---abc---xyz----」,則 TrimStart(System.Char)
方法會傳回 「abc---xyz----」。
注意
TrimStart(System.Char)
如果方法從目前實例移除任何字元,這個方法就不會修改目前實例的值。 相反地,它會傳回新的字串,其中會移除目前實例中找到的所有前置 trimChar
字元。
適用於
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
前置字元。 當遇到不在 中的 trimChars
字元時,修剪作業會停止。 例如,如果目前的字串為 「123abc456xyz789」,且 trimChars
包含 「1」 到 「9」 的數位,則 TrimStart(System.Char[])
方法會傳回 「abc456xyz789」。
注意
TrimStart(System.Char[])
如果方法從目前實例移除任何字元,這個方法就不會修改目前實例的值。 相反地,它會傳回新的字串,其中會移除目前實例中找到之參數中的所有 trimChars
前置字元。
給呼叫者的注意事項
.NET Framework 3.5 SP1 和舊版會維護此方法在 為 null
或空陣列時 trimChars
修剪的內部空白字元清單。 從 .NET Framework 4 開始,如果 為 trimChars
null
或空陣列,則方法會修剪所有 Unicode 空白字元 (,也就是將傳回值傳遞給 IsWhiteSpace(Char) 方法時產生 true
傳回值的字元) 。 由於這項變更, Trim() .NET Framework 3.5 SP1 和較舊版本中的 方法會移除兩個字元:零寬度空格 (U+200B) 和零寬度 NO-BREAK SPACE (U+FEFF) , Trim() .NET Framework 4 和更新版本中的方法不會移除。 此外, Trim() .NET Framework 3.5 SP1 和較舊版本中的 方法不會修剪三個 Unicode 空白字元:在 U+180E (U+180E) 、NARROW NO-BREAK SPACE (U+202F) ,以及中數學空間 (U+205F) 。
另請參閱
適用於
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應