英語で読む

次の方法で共有


String.TrimStart メソッド

定義

オーバーロード

TrimStart(ReadOnlySpan<Char>)

スパンで指定された文字セットの先頭のすべての出現箇所を現在の文字列から削除します。

TrimStart()

現在の文字列から先頭のすべての空白文字を削除します。

TrimStart(Char)

指定した文字の先頭のすべての出現箇所を現在の文字列から削除します。

TrimStart(Char[])

配列で指定された文字セットの先頭のすべての出現箇所を現在の文字列から削除します。

TrimStart(ReadOnlySpan<Char>)

スパンで指定された文字セットの先頭のすべての出現箇所を現在の文字列から削除します。

C#
public string TrimStart (scoped ReadOnlySpan<char> trimChars);

パラメーター

trimChars
ReadOnlySpan<Char>

削除する Unicode 文字のスパン。

戻り値

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

適用対象

.NET 9
製品 バージョン
.NET 9

TrimStart()

ソース:
String.Manipulation.cs
ソース:
String.Manipulation.cs
ソース:
String.Manipulation.cs

現在の文字列から先頭のすべての空白文字を削除します。

C#
public string TrimStart ();

戻り値

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

注釈

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

注意

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

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

TrimStart(Char)

ソース:
String.Manipulation.cs
ソース:
String.Manipulation.cs
ソース:
String.Manipulation.cs

指定した文字の先頭のすべての出現箇所を現在の文字列から削除します。

C#
public string TrimStart (char trimChar);

パラメーター

trimChar
Char

削除する Unicode 文字。

戻り値

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

注釈

TrimStart(System.Char) メソッドは、現在の文字列から先頭のすべての trimChar 文字を削除します。 トリミング操作は、trimChar されていない文字が検出されると停止します。 たとえば、trimChar- で、現在の文字列が "---abc---xyz----" の場合、TrimStart(System.Char) メソッドは "abc---xyz----" を返します。

注意

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

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

TrimStart(Char[])

ソース:
String.Manipulation.cs
ソース:
String.Manipulation.cs
ソース:
String.Manipulation.cs

配列で指定された文字セットの先頭のすべての出現箇所を現在の文字列から削除します。

C#
public string TrimStart (params char[] trimChars);
C#
public string TrimStart (params char[]? trimChars);

パラメーター

trimChars
Char[]

削除する Unicode 文字の配列、または nullします。

戻り値

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

次の例は、TrimStart メソッドの基本的な機能を示しています。

C#
// 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 メソッドを使用して、ソース コードの行から空白文字とコメント文字をトリミングします。 StripComments メソッドは、TrimStart の呼び出しをラップし、スペースとコメント文字を含む文字配列を渡します。これは Visual Basic のアポストロフィ ( ' ) と C# または F# のスラッシュ ( / ) です。 TrimStart メソッドは、文字列がコメントであるかどうかを評価するときに先頭の空白を削除するためにも呼び出されます。

C#
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();
}

次の例では、StripComments メソッドの呼び出しを示します。

C#
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.

注釈

TrimStart(System.Char[]) メソッドは、trimChars パラメーター内のすべての先頭文字を現在の文字列から削除します。 トリミング操作は、trimChars に含まれていない文字が検出されると停止します。 たとえば、現在の文字列が "123abc456xyz789" で、trimChars に "1" から "9" までの数字が含まれている場合、TrimStart(System.Char[]) メソッドは "abc456xyz789" を返します。

注意

TrimStart(System.Char[]) メソッドが現在のインスタンスから文字を削除した場合、このメソッドは現在のインスタンスの値を変更しません。 代わりに、現在のインスタンスで見つかった trimChars パラメーター内のすべての先頭文字が削除される新しい文字列を返します。

注意 (呼び出し元)

.NET Framework 3.5 SP1 以前のバージョンでは、trimCharsnull または空の配列の場合に、このメソッドによってトリミングされる空白文字の内部リストが保持されます。 .NET Framework 4 以降では、trimCharsnull または空の配列である場合、メソッドはすべての Unicode 空白文字 (つまり、IsWhiteSpace(Char) メソッドに渡されたときに true 戻り値を生成する文字) をトリミングします。 この変更により、.NET Framework 3.5 SP1 以前のバージョンの Trim() メソッドは、.NET Framework 4 以降のバージョンの Trim() メソッドが削除しない 2 文字の ZERO WIDTH SPACE (U+200B) と ZERO WIDTH NO-BREAK SPACE (U+FEFF) を削除します。 さらに、.NET Framework 3.5 SP1 以前のバージョンの Trim() メソッドでは、3 つの Unicode 空白文字 (モンゴル語の母音区切り文字 (U+180E)、NARROW NO-BREAK SPACE (U+202F)、MEDIUM MATHEMATICAL SPACE (U+205F) はトリミングされません。

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0