String.TrimStart 方法

定義

多載

TrimStart()

移除目前字串開頭的所有空白字元。Removes all the leading white-space characters from the current string.

TrimStart(Char[])

移除出現在目前字串開頭的所有陣列指定字元集。Removes all the leading occurrences of a set of characters specified in an array from the current string.

TrimStart(Char)

移除出現在目前字串開頭的所有指定字元。Removes all the leading occurrences of a specified character from the current string.

TrimStart()

移除目前字串開頭的所有空白字元。Removes all the leading white-space characters from the current string.

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

傳回

從目前字串開頭移除所有空白字元後,遺留下來的字串。The string that remains after all white-space characters are removed from the start of the current string. 如果在目前的執行個體中無法修剪任何字元,則方法傳回未變更的目前執行個體。If no characters can be trimmed from the current instance, the method returns the current instance unchanged.

備註

TrimStart 方法會從目前字串中移除所有開頭的空白字元。The TrimStart method removes from the current string all leading white-space characters. 當遇到非空白字元時,修剪作業就會停止。The trim operation stops when a non white-space character is encountered. 例如,如果目前的字串為 "abc xyz",則 TrimStart 方法會傳回 "abc xyz"。For example, if the current string is " abc xyz ", the TrimStart method returns "abc xyz ".

注意

如果 TrimStart 方法會從目前的實例移除任何字元,這個方法就不會修改目前實例的值。If the TrimStart method removes any characters from the current instance, this method does not modify the value of the current instance. 相反地,它會傳回新的字串,其中會移除在目前實例中找到的所有前置空白字元字元。Instead, it returns a new string in which all leading white space characters found in the current instance are removed.

TrimStart(Char[])

移除出現在目前字串開頭的所有陣列指定字元集。Removes all the leading occurrences of a set of characters specified in an array from the current string.

public:
 System::String ^ TrimStart(... cli::array <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 字元陣列或 nullAn array of Unicode characters to remove, or null.

傳回

從目前的字串開頭處移除 trimChars 參數中所有出現的字元後,所保留下來的字串。The string that remains after all occurrences of characters in the trimChars parameter are removed from the start of the current string. 如果 trimCharsnull 或空陣列,則反而會移除空白字元。If trimChars is null or an empty array, white-space characters are removed instead. 如果在目前的執行個體中無法修剪任何字元,則方法傳回未變更的目前執行個體。If no characters can be trimmed from the current instance, the method returns the current instance unchanged.

範例

下列範例示範 TrimStart 方法的基本功能:The following example demonstrates the basic functionality of the TrimStart method:

// 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
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 方法,從原始程式碼的行修剪空白字元和批註字元。The following example uses the TrimStart method to trim white space and comment characters from lines of source code. StripComments 方法會包裝對 TrimStart 的呼叫,並將包含空格和批註字元的字元陣列傳遞給它,這是 Visual Basic 中的單引號(')和中C#的斜線(/)。The StripComments method wraps a call to TrimStart and passes it a character array that contains a space and the comment character, which is an apostrophe ( ' ) in Visual Basic and a slash ( / ) in C#. 評估字串是否為批註時,也會呼叫 TrimStart 方法來移除前置空白字元。The TrimStart method is also called to remove leading white space when evaluating whether a string is a comment.

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();
}
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 方法。The following example then illustrates a call to the StripComments method.

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.
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 參數中所有開頭的字元。The TrimStart(System.Char[]) method removes from the current string all leading characters that are in the trimChars parameter. 當遇到不在 trimChars 中的字元時,修剪作業就會停止。The trim operation stops when a character that is not in trimChars is encountered. 例如,如果目前的字串為 "123abc456xyz789",且 trimChars 包含 "1" 到 "9" 的數位,則 TrimStart(System.Char[]) 方法會傳回 "abc456xyz789"。For example, if the current string is "123abc456xyz789" and trimChars contains the digits from "1" through "9", the TrimStart(System.Char[]) method returns "abc456xyz789".

注意

如果 TrimStart(System.Char[]) 方法會從目前的實例移除任何字元,這個方法就不會修改目前實例的值。If the TrimStart(System.Char[]) method removes any characters from the current instance, this method does not modify the value of the current instance. 相反地,它會傳回新的字串,其中會移除在目前實例中找到之 trimChars 參數內的所有前置字元。Instead, it returns a new string in which all leading characters that are in the trimChars parameter found in the current instance are removed.

給呼叫者的注意事項

.NET Framework 3.5 SP1.NET Framework 3.5 SP1 和較早的版本會維護此方法會在 trimChars null 或空陣列時修剪的空白字元的內部清單。The .NET Framework 3.5 SP1.NET Framework 3.5 SP1 and earlier versions maintains an internal list of white-space characters that this method trims if trimChars is null or an empty array. .NET Framework 4.NET Framework 4開始,如果 trimChars null 或空陣列,則方法會修剪所有 Unicode 空白字元(也就是在傳遞至 IsWhiteSpace(Char) 方法時產生 true 傳回值的字元)。Starting with the .NET Framework 4.NET Framework 4, if trimChars is null or an empty array, the method trims all Unicode white-space characters (that is, characters that produce a true return value when they are passed to the IsWhiteSpace(Char) method). 由於這項變更,.NET Framework 3.5 SP1.NET Framework 3.5 SP1 和較舊版本中的 Trim() 方法會移除兩個字元,零寬度空格(U + 200B)和零寬度不中斷空間(U + FEFF),.NET Framework 4.NET Framework 4 和更新版本中的 Trim() 方法不會移除。Because of this change, the Trim() method in the .NET Framework 3.5 SP1.NET Framework 3.5 SP1 and earlier versions removes two characters, ZERO WIDTH SPACE (U+200B) and ZERO WIDTH NO-BREAK SPACE (U+FEFF), that the Trim() method in the .NET Framework 4.NET Framework 4 and later versions does not remove. 此外,.NET Framework 3.5 SP1.NET Framework 3.5 SP1 和更早版本中的 Trim() 方法不會修剪三個 Unicode 空白字元:蒙古文母音分隔符號(U + 180E)、窄的無中斷空間(U + 202F)和中度數學空格(U + 205F)。In addition, the Trim() method in the .NET Framework 3.5 SP1.NET Framework 3.5 SP1 and earlier versions does not trim three Unicode white-space characters: MONGOLIAN VOWEL SEPARATOR (U+180E), NARROW NO-BREAK SPACE (U+202F), and MEDIUM MATHEMATICAL SPACE (U+205F).

另請參閱

TrimStart(Char)

移除出現在目前字串開頭的所有指定字元。Removes all the leading occurrences of a specified character from the current string.

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 字元。The Unicode character to remove.

傳回

從目前字串開頭移除所有出現的 trimChar 字元後,遺留下來的字串。The string that remains after all occurrences of the trimChar character are removed from the start of the current string. 如果在目前的執行個體中無法修剪任何字元,則方法傳回未變更的目前執行個體。If no characters can be trimmed from the current instance, the method returns the current instance unchanged.

備註

TrimStart(System.Char) 方法會從目前的字串中移除所有開頭的 trimChar 字元。The TrimStart(System.Char) method removes from the current string all leading trimChar characters. 當遇到不 trimChar 的字元時,修剪作業就會停止。The trim operation stops when a character that is not trimChar is encountered. 例如,如果 trimChar-,而目前的字串是 "---abc---xyz----",則 TrimStart(System.Char) 方法會傳回 "abc---xyz----"。For example, if trimChar is - and the current string is "---abc---xyz----", the TrimStart(System.Char) method returns "abc---xyz----".

注意

如果 TrimStart(System.Char) 方法會從目前的實例移除任何字元,這個方法就不會修改目前實例的值。If the TrimStart(System.Char) method removes any characters from the current instance, this method does not modify the value of the current instance. 相反地,它會傳回新的字串,其中會移除在目前實例中找到的所有前置 trimChar 字元。Instead, it returns a new string in which all leading trimChar characters found in the current instance are removed.

適用於