.NET TIPS

文字列の前後にある余分な空白文字を取り除くには?

デジタルアドバンテージ
2004/07/23

 テキストボックスなどでユーザーから入力を受け取るとき、入力されたキーワードの前後に余分な空白文字(スペース)が含まれてしまう場合がある。また、文字列を個々の単語に分割したときには、単語の前後に余分な区切り文字が含まれてしまう場合がある。

 このような文字列の前後に含まれている余分な空白文字や特定の文字は、Stringクラス(System名前空間)のTrimメソッドを使用して簡単に取り除くことができる。

 文字列の前後の空白文字を取り除くには、次のようにして、文字列に対してTrimメソッドをパラメータなしで呼び出せばよい。この場合には、全角および半角の空白文字が取り除かれる。

Dim input As String = "  入力文字列  "
Dim output As String = input.Trim()

 文字列の前後にある特定の文字を取り除く場合には、パラメータに文字の配列を指定するバージョンのTrimメソッドを使用する(このパラメータは可変長パラメータである。可変長パラメータを指定するメソッドの呼び出しについては「TIPS:メソッドに可変長パラメータを渡すには?」を参考にしていただきたい)。

Dim input As String = ", 分割文字列,"
Dim output As String = input.Trim(" ", ",")

 次にTrimメソッドを使用した簡単なサンプル・プログラムを示す。

// trim.cs

using System;

class TrimSample {
  static void Main() {
    string str1 = "  前後に 半角 スペース  ";
    string str2 = "  前後に 全角 スペース  ";
    string str3 = "      "; // スペースのみ

    Console.WriteLine("[{0}]", str1.Trim());
    // 出力:[前後に 半角 スペース]
    Console.WriteLine("[{0}]", str2.Trim());
    // 出力:[前後に 全角 スペース]
    Console.WriteLine("[{0}]", str3.Trim());
    // 出力:[]

    string str4 = ", ; :前後に区切り文字, ; :";

    Console.WriteLine("[{0}]", str4.Trim(' ', ',', ';', ':'));
    // 出力:[前後に区切り文字]
  }
}

// コンパイル方法:csc trim.cs
Trimメソッドを使用したC#のサンプル・プログラム(trim.cs)
 
' trim.vb

Imports System

Class TrimSample
  Shared Sub Main()
    Dim str1 As String = "  前後に 半角 スペース  "
    Dim str2 As String = "  前後に 全角 スペース  "
    Dim str3 As String = "      " ' スペースのみ

    Console.WriteLine("[{0}]", str1.Trim())
    ' 出力:[前後に 半角 スペース]
    Console.WriteLine("[{0}]", str2.Trim())
    ' 出力:[前後に 全角 スペース]
    Console.WriteLine("[{0}]", str3.Trim())
    ' 出力:[]

    Dim str4 As String = ", ; :前後に区切り文字, ; :"

    Console.WriteLine("[{0}]", str4.Trim(" ", ",", ";", ":"))
    ' 出力:[前後に区切り文字]
  End Sub
End Class

' コンパイル方法:vbc trim.vb
Trimメソッドを使用したVB.NETのサンプル・プログラム(trim.vb)

 Stringクラスには、Trimメソッドのほかに、指定した特定の文字列を文字列の先頭からのみ取り除くTrimStartメソッド、文字列の末尾からのみ取り除くTrimEndメソッドも用意されている。これら2つのメソッドで空白文字を取り除くには、パラメータにNothing(VB.NETの場合。C#の場合にはnull)を指定する。

 また、VB.NETには以前のバージョンとの互換性のためにTrim、TrimStart、TrimEndと同じ処理を行うTrim関数、LTrim関数、RTrim関数が用意されているが、これらの関数は空白文字だけしか取り除くことができない。End of Article

カテゴリ:クラス・ライブラリ 処理対象:文字列
使用ライブラリ:Stringクラス(System名前空間)
 
この記事と関連性の高い別の.NET TIPS
文字列から特定の文字列を取り除くには?[C#、VB]]
文字列やテキストをHTMLエンコードするには?
文字と文字列を変換するには?
文字列を文字列により分割するには?(VB.NET関数活用)
メソッドに可変長パラメータを渡すには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間