Trim関数、LTrim関数、RTrim関数のポイント

このページでは、文字列からスペースを取り除く関数について解説する。

Trim関数のポイント

Trim関数は、引数に指定した文字列から、その両側にあるスペースを取り除く。

次のプロシージャはTrim関数の使用例だ。文字列「    Lesson    」の両側からスペースを取り除く。その結果、メッセージボックスに文字列「Lesson」が表示される。

Sub Test()
    Dim str As String
    str = Trim("    Lesson    ")
    MsgBox str
End Sub
Trimは Trimming(トリミング = 〔余分なものを〕刈り込むこと、切り取ること)の略だ。

Trim関数は、文字列の前後のスペースを取り除くだけだ。文字列の中にあるスペースを取り除くことはできない。次のプロシージャを実行するとメッセージボックスに文字列「Lesson VBA」が表示される(「LessonVBA」ではない)。

'文字列の中にあるスペースは削除されない
Sub Test()
    Dim str As String
    str = Trim("    Lesson VBA    ")
    MsgBox str
End Sub

文字の間のスペースも取り除きたい場合は、Replace関数を使用すると良いだろう。

'LessonVBAと表示される
Sub Test()
    Dim str As String
    str = Replace("    Lesson VBA    ", " ", "")
    MsgBox str
End Sub

Replace関数についてはこちらのページで解説している。

Trim関数は半角スペースも全角スペースも取り除く。

LTrim関数のポイント

LTrim関数は、引数に指定した文字列から、その左側にあるスペースを取り除く。次のプロシージャを実行すると文字列「Lesson    」が表示される。

Sub Test()
    Dim str As String
    str = LTrim("    Lesson    ")
    MsgBox str
End Sub

なお、LTrimは Light Trim(左トリム)の略だ。

RTrim関数のポイント

RTrim関数は、引数に指定した文字列から、その右側にあるスペースを取り除く。次のプロシージャを実行すると文字列「    Lesson」が表示される。

Sub Test()
    Dim str As String
    str = RTrim("    Lesson    ")
    MsgBox str
End Sub

なお、RTrimは Right Trim(右トリム)の略だ。

練習問題

次のプロシージャを実行したところメッセージボックスに「10」と表示された。空欄【1】に当てはまる記述として正しいものはどれか。次の中から2つ選択しなさい。

Sub Test()
    MsgBox Len(【 1 】)
End Sub

  1. Trim(" Lesson VBA ")
  2. LTrim(" Lesson VBA ")
  3. RTrim(" Lesson VBA ")
  4. RTrim(LTrim(" Lesson VBA "))

正解を見る

1, 4

コメント