String.TrimStart メソッド

定義

オーバーロード

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

戻り値

String

現在の文字列の先頭から、trimChars パラメーターの文字をすべて削除した後に残った文字列。 trimCharsnull または空の配列の場合は、代わりに空白文字が削除されます。 現在のインスタンスから文字をトリミングできない場合、メソッドは現在のインスタンスを変更せずに返します。

次の例は、メソッドの基本的な機能を示してい 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
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# のスラッシュ (/) で構成されます。 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();
}
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.
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 以前のバージョンでは、 trimChars がまたは空の配列の場合に、このメソッドがトリムする空白文字の内部リストを保持し null ます。 .NET Framework 4 以降では、がまたは空の配列の場合、 trimChars null メソッドはすべての Unicode 空白文字 (つまり、メソッドに渡されるときに戻り値を生成する文字) をトリムし true IsWhiteSpace(Char) ます。 この変更により、 Trim() .NET Framework 3.5 SP1 以前のバージョンのメソッドでは、2つの文字、ゼロ幅のスペース (u + 200B) とゼロ幅の改行なしスペース (u + FEFF) が削除 Trim() されます。このメソッドは、4以降のバージョン .NET Framework では削除されません。 さらに、 Trim() .NET Framework 3.5 SP1 以前のバージョンのメソッドでは、3つの Unicode の空白文字 (モンゴル語の母音区切り記号 (u + 180 e)、ナロー改行なしスペース (u + 202f)、中かっこ (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 文字。

戻り値

String

現在の文字列の先頭から、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

戻り値

String

現在の文字列の先頭からすべての空白文字が削除された後に残った文字列。 現在のインスタンスから文字をトリミングできない場合、メソッドは現在のインスタンスを変更せずに返します。

注釈

メソッドは、 TrimStart 現在の文字列からすべての先頭の空白文字を削除します。 空白以外の文字が検出されると、トリム操作は停止します。 たとえば、現在の文字列が "abc" の場合、この TrimStart メソッドは "abc xyz" を返します。

注意

メソッドが TrimStart 現在のインスタンスから任意の文字を削除した場合、このメソッドは現在のインスタンスの値を変更しません。 代わりに、現在のインスタンスで見つかったすべての先頭の空白文字が削除される新しい文字列を返します。

適用対象