Share via


文字のトリムと削除

文章を個々の単語に分割すると、単語の先頭または末尾に空白が残る場合があります。そのような場合は、System.String クラスのトリム メソッドのいずれかを使用して、文字列内の指定した位置から任意の数の空白またはその他の文字を削除できます。使用できるトリム メソッドとその説明を次の表に示します。

メソッド名 用途

String.Trim

文字列の先頭と末尾から空白を削除します。

String.TrimEnd

文字列の末尾から、文字配列で指定した文字を削除します。

String.TrimStart

文字列の先頭から、文字配列で指定した文字を削除します。

String.Remove

文字列内の指定したインデックス位置から、指定した数の文字を削除します。

Trim

String.Trim メソッドを使用すると、文字列の両端から空白を簡単に削除できます。メソッドの使用例を次に示します。

Dim MyString As String = " Big   "
Console.WriteLine("Hello{0}World!", MyString)
Dim TrimString As String = MyString.Trim()
Console.WriteLine("Hello{0}World!", TrimString)
String MyString = " Big   ";
Console.WriteLine("Hello{0}World!", MyString );    
string TrimString = MyString.Trim();
Console.WriteLine("Hello{0}World!", TrimString );

このコードは、コンソールに次の行を出力します。

Hello Big   World!
HelloBigWorld! 

TrimEnd

String.TrimEnd メソッドは、文字列の末尾から文字を削除して新しい文字列オブジェクトを作成します。このメソッドには、削除する文字を指定する文字配列が渡されます。文字配列内での要素の順序は、トリム操作に影響しません。トリム操作は、文字配列で指定された文字が見つからなくなった時点で停止します。

TrimEnd メソッドを使用して文字列の末尾の数文字を削除する例を次に示します。この例では、文字配列内の文字の順序が操作に影響しないことを示すために、'r' という文字と 'W' という文字の順序を逆にしてあります。このコードは、MyString の最後の単語だけでなく、最初の単語の一部も削除します。

Dim MyString As String = "Hello World!"
Dim MyChar As Char() =  {"r"c, "o"c, "W"c, "l"c, "d"c, "!"c, " "c }
Dim NewString As String = MyString.TrimEnd(MyChar)
Console.WriteLine(NewString)
string MyString = "Hello World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);

このコードは、コンソールに He と出力します。

TrimEnd メソッドを使用して、文字列の最後の単語を削除する例を次に示します。このコードでは、Hello という単語の後にコンマがありますが、削除する文字の配列にコンマは指定されていないため、コンマの位置でトリムが停止します。

Dim MyString As String = "Hello, World!"
Dim MyChar As Char() =  {"r"c, "o"c, "W"c, "l"c, "d"c, "!"c, " "c }
Dim NewString As String = MyString.TrimEnd(MyChar)
Console.WriteLine(NewString)
string MyString = "Hello, World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);

このコードは、コンソールに Hello, と出力します。

TrimStart

String.TrimStart メソッドは String.TrimEnd メソッドと似ていますが、既存の文字列オブジェクトの先頭から文字を削除して新しい文字列を作成する点が異なります。TrimStart メソッドには、削除する文字を指定する文字配列が渡されます。TrimEnd メソッドの場合と同様に、文字配列内での要素の順序はトリム操作に影響しません。トリム操作は、文字配列で指定された文字が見つからなくなった時点で停止します。

文字列の最初の単語を削除する例を次に示します。この例では、文字配列内の文字の順序が操作に影響しないことを示すために、'l' という文字と 'H' という文字の順序を逆にしてあります。

Dim MyString As String = "Hello World!"
Dim MyChar As Char() =  {"e"c, "H"c, "l"c, "o"c, " "c}
Dim NewString As String = MyString.TrimStart(MyChar)
Console.WriteLine(NewString)
string MyString = "Hello World!";
char[] MyChar = {'e', 'H','l','o',' ' };
string NewString = MyString.TrimStart(MyChar);
Console.WriteLine(NewString);

このコードは、コンソールに World! と出力します。

Remove

String.Remove メソッドは、既存の文字列内の指定した位置を開始位置として、指定した数の文字を削除します。このメソッドは、インデックスが 0 から始まっていることを前提としています。

文字列の 0 から始まる 5 番目のインデックスを開始位置として、10 文字を削除する例を次に示します。

Dim MyString As String = "Hello Beautiful World!"
Console.WriteLine(MyString.Remove(5, 10))
string MyString = "Hello Beautiful World!";   
Console.WriteLine(MyString.Remove(5,10));

このコードは、コンソールに Hello World! と出力します。

参照

その他の技術情報

基本的な文字列操作