Movatterモバイル変換


[0]ホーム

URL:


Skip to main contentSkip to in-page navigation

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Download Microsoft EdgeMore info about Internet Explorer and Microsoft Edge
Table of contentsExit editor mode

String.TrimStart Method

Definition

Namespace:
System
Assemblies:
netstandard.dll, System.Runtime.dll
Assembly:
System.Runtime.dll
Assembly:
netstandard.dll
Assemblies:
mscorlib.dll, System.Runtime.dll
Assembly:
mscorlib.dll

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Overloads

NameDescription
TrimStart(Char)

Removes all the leading occurrences of a specified character 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()

Removes all the leading white-space characters from the current string.

TrimStart(Char)

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

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

Parameters

trimChar
Char

The Unicode character to remove.

Returns

The string that remains after all occurrences of thetrimChar 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.

Remarks

TheTrimStart(System.Char) method removes from the current string all leadingtrimChar characters. The trim operation stops when a character that is nottrimChar is encountered. For example, iftrimChar is- and the current string is "---abc---xyz----", theTrimStart(System.Char) method returns "abc---xyz----".

Note

If theTrimStart(System.Char) 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 leadingtrimChar characters found in the current instance are removed.

Applies to

TrimStart(Char[])

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

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);
public string TrimStart(params char[]? trimChars);
member this.TrimStart : char[] -> string
Public Function TrimStart (ParamArray trimChars As Char()) As String

Parameters

trimChars
Char[]

An array of Unicode characters to remove, ornull.

Returns

The string that remains after all occurrences of characters in thetrimChars parameter are removed from the start of the current string. IftrimChars isnull 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.

Examples

The following example demonstrates the basic functionality of theTrimStart method:

// TrimStart examplesstring 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 examplesstring[] 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 actionlineAfterTrimStart = 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 exampleslet 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 exampleslet 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 actionlet 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

The following example uses theTrimStart method to trim white space and comment characters from lines of source code. TheStripComments method wraps a call toTrimStart 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# or F#. TheTrimStart 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();}
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

The following example then illustrates a call to theStripComments 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.
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 linesprintfn "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.

Remarks

TheTrimStart(System.Char[]) method removes from the current string all leading characters that are in thetrimChars parameter. The trim operation stops when a character that is not intrimChars is encountered. For example, if the current string is "123abc456xyz789" andtrimChars contains the digits from "1" through "9", theTrimStart(System.Char[]) method returns "abc456xyz789".

Note

If theTrimStart(System.Char[]) 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 characters that are in thetrimChars parameter found in the current instance are removed.

Notes to Callers

The .NET Framework 3.5 SP1 and earlier versions maintains an internal list of white-space characters that this method trims iftrimChars isnull or an empty array. Starting with the .NET Framework 4, iftrimChars isnull or an empty array, the method trims all Unicode white-space characters (that is, characters that produce atrue return value when they are passed to theIsWhiteSpace(Char) method). Because of this change, theTrim() method in the .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 theTrim() method in the .NET Framework 4 and later versions does not remove. In addition, theTrim() method in the .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).

See also

Applies to

TrimStart()

Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs
Source:
String.Manipulation.cs

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

Returns

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.

Remarks

TheTrimStart method removes from the current string all leading white-space characters. The trim operation stops when a non white-space character is encountered. For example, if the current string is " abc xyz ", theTrimStart method returns "abc xyz ".

Note

If theTrimStart 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.

Applies to

Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, seeour contributor guide.

Feedback

Was this page helpful?

YesNoNo

Need help with this topic?

Want to try using Ask Learn to clarify or guide you through this topic?

Suggest a fix?

In this article

Was this page helpful?

YesNo
NoNeed help with this topic?

Want to try using Ask Learn to clarify or guide you through this topic?

Suggest a fix?