Trim/LTrim/RTrim関数等でスペースを削除する
今回の目標
「このスペースを消したい!」や「Trim関数は知ってるけど、文字中のスペースは消せないの?」と疑問を持ったあなたへ。
この記事では、Trim/LTrim/RTrim関数の使い方を丁寧に解説します!
各関数の変換前と変換後の使用サンプルつきです。
目標リスト
- Trim/LTrim/RTrim関数について、理解する
- Trim/LTrim/RTrim関数の違いを理解する
- Replace関数を用いて、スペースを削除できるようになる
Trim/LTrim/RTrim関数について
Trim/LTrim/RTrim関数の役割
Trim関数、LTrim関数、RTrim関数はいずれも、文字列からスペース(半角スペース及び全角スペース)を削除します。
補足ですが、Replace関数を使えば文字列中の全てのスペースを削除することができます。
-
Trim関数
Trim関数は、文字列の前と後ろのスペースを削除します。
例)" Hello World " → "Hello World"
-
LTrim関数
LTrim関数は、文字列の前のスペースを削除します。
例)" Hello World " → "Hello World "
-
RTrim関数
RTrim関数は、文字列の後ろのスペースを削除します。
例)" Hello World " → " Hello World"
-
Replace関数
Replace関数は、文字列の全てのスペースを削除できます。
例)" Hello World " → "HelloWorld"
まとめると、以下の表のとおりです。
関数名 | 削除対象 | Before | After |
---|---|---|---|
Trim | 前後のスペース | " Hello World " | "Hello World" |
LTrim | 前(左側) | " Hello World " | "Hello World " |
RTrim | 後ろ(右側) | " Hello World " | " Hello World" |
Replace | 全て | " Hello World " | "HelloWorld" |
引数一覧
Trim/LTrim/RTrim関数の構文
Trim(string)
LTrim(string)
RTrim(string)
Trim/LTrim/RTrim関数の引数一覧
名前 | 省略 | 規定値 | 説明 |
---|---|---|---|
string | 不可 | - | スペースを削除する文字列 |
Replace関数は、下記ページにまとめました!
・リンク:Replace関数とは?
文字列のスペースを削除する5つの方法
1.文字列の前後のスペースを削除する(Trim関数)
Trim関数を使用すると、文字列の前と後ろの半角スペース及び全角スペースを削除します。
サンプルコード
'文字列の前後のスペースを削除する
Sub SampleTrim()
Dim before As String
Dim after As String
before = " A B C "
after = Trim(before)
Debug.Print "--- Trim/Before ---"
Debug.Print "【" & before & "】"
Debug.Print "--- Trim/After ---"
Debug.Print "【" & after & "】"
End Sub
--- Trim/Before ---
【 A B C 】
--- Trim/After ---
【A B C】
2.文字列の前のスペースを削除する(LTrim関数)
LTrim関数を使用すると、文字列の前の半角スペース及び全角スペースを削除します。
サンプルコード
'文字列の前のスペースを削除する
Sub SampleLTrim()
Dim before As String
Dim after As String
before = " A B C "
after = LTrim(before)
Debug.Print "--- LTrim/Before ---"
Debug.Print "【" & before & "】"
Debug.Print "--- LTrim/After ---"
Debug.Print "【" & after & "】"
End Sub
--- LTrim/Before ---
【 A B C 】
--- LTrim/After ---
【A B C 】
3.文字列の後ろのスペースを削除する(RTrim関数)
RTrim関数を使用すると、文字列の後ろの半角スペース及び全角スペースを削除します。
サンプルコード
'文字列の後ろ側のスペースを削除する
Sub SampleRTrim()
Dim before As String
Dim after As String
before = " A B C "
after = RTrim(before)
Debug.Print "--- RTrim/Before ---"
Debug.Print "【" & before & "】"
Debug.Print "--- RTrim/After ---"
Debug.Print "【" & after & "】"
End Sub
--- RTrim/Before ---
【 A B C 】
--- RTrim/After ---
【 A B C】
4.文字列の全てのスペースを削除する(Replace関数)
Replace関数は、文字列を置換する関数です。
半角スペースを空文字に変換後、全角スペースを空文字に変換することで全てのスペースを削除できます。
サンプルコード
'スペースを全て削除する
Sub SampleSpaceDelete()
Dim before As String
Dim after As String
before = " A B C "
after = Replace(before, " ", "") '半角スペースの削除
after = Replace(after, " ", "") '全角スペースの削除
Debug.Print "--- Before ---"
Debug.Print "【" & before & "】"
Debug.Print "--- After ---"
Debug.Print "【" & after & "】"
End Sub
--- Before ---
【 A B C 】
--- After ---
【ABC】
5.文字列の前後以外のスペースを削除する
文字列の前後以外のスペース(文字列の内部のスペース)を削除する場合、Replace関数とLen関数、Left関数、Mid関数 を使用します。 手順は次の通りです。
- 文字列の前にあるスペースを変数に保存する
- 文字列の後ろにあるスペースを変数に保存する
- 文字列のスペースを全て削除する
- 「3」の文字列と「1」及び「2」の文字列を連結する
サンプルコード
'文字列の内部のスペースを削除する
Sub RemoveInnerSpaces()
Dim before As String
Dim after As String
Dim rBufStr As String
Dim lBufStr As String
Dim rightSpaceNum As Long
Dim leftSpaceNum As Long
before = " A B C "
'文字列の前にあるスペースを保存する
leftSpaceNum = Len(before) - Len(LTrim(before))
lBufStr = Left(before, leftSpaceNum)
'文字列の後ろにあるスペースを保存する
rightSpaceNum = Len(before) - Len(RTrim(before))
rBufStr = Right(before, rightSpaceNum)
'文字列のスペースを全て削除する
after = Replace(before, " ", "")
after = Replace(after, " ", "")
'文字列の前後のスペースを復活させる
after = lBufStr & after & rBufStr
Debug.Print "--- Before ---"
Debug.Print "【" & before & "】"
Debug.Print "--- After ---"
Debug.Print "【" & after & "】"
End Sub
--- Before ---
【 A B C 】
--- After ---
【 ABC 】