[R言語]文字列(string)の空白を削除するには?

R言語

どうも、ちょげ(@chogetarou)です。

文字列(string)の空白を削除する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

文字列(string)の空白を削除する方法は、4つあります。

全ての空白を削除

1つ目は、全ての空白を削除する方法です。

まず、gsub()を呼び出します。

gsub()の第1引数に「”[[:blank:]]”」、第2引数に空文字(””)を指定します。

そして、gsub()の第3引数に対象の文字列を指定します。

#text=対象の文字列
result <- gsub("[[:blank:]]", "", text)

上記のgsub()は、第3引数に指定した文字列(string)から全ての空白を削除した文字列を生成します。

「[:blank:]」は、半角と全角の空白とタブを削除します。

もし、半角もしくは全角の片方のみを削除したい場合は、「[:blank:]」を削除したい空白の文字列にします。

#半角の空白のみを削除
result <- gsub(" ", "", text)
#全角の空白のみを削除
result <- gsub(" ", "", text)

使用例

text <- "  H e l  l o, Wo  r l  d "

result <- gsub("[[:blank:]]", "", text)

result
出力:
> result
[1] "Hello,World"

左右の空白を削除

2つ目は、左右の空白を削除する方法です。

文字列(string)の左右の空白を削除する方法は、2つあります。

gsub()

ひとつは、gsub()を使う方法です。

まず、gsub()を呼び出します。

gsub()の第1引数に「"^\\s+|\\s+$"」、第2引数に空文字(””)を指定します。

そして、gsub()の第3引数に対象の文字列を指定します。

#text=対象の文字列
result <- gsub("^\\s+|\\s+$", "", text)

上記のgsub()は、第3引数に指定した文字列(string)から左右の空白を削除した文字列を生成します。

使用例

text <- "    H e l  l o, Wo  r l  d    "

result <- gsub("^\\s+|\\s+$", "", text)

result
出力:
> result

[1] "H e l  l o, Wo  r l  d"

str_trim()

もうひとつは、str_trim()を使う方法です。

まず、「stringr」を導入します。

library(stringr)

次に、str_trim()を呼び出します。

str_trim()の第1引数に文字列、第2引数「side」に「”both”」を指定します。

#text=対象の文字列
result <- str_trim(text, side = "both")

上記のstr_trim()は、第1引数に指定した文字列(string)から左右の空白を削除した文字列を生成します。

使用例

library(stringr)

text <- "    H e l  l o, Wo  r l  d    "

result <- str_trim(text, side = "both")

result
出力:
> result
[1] "H e l  l o, Wo  r l  d"

左側の空白のみを削除

3つ目は、左側の空白のみを削除する方法です。

文字列(string)の左側の空白のみを削除する方法は、2つあります。

gsub()

ひとつは、gsub()を使う方法です。

まず、gsub()を呼び出します。

gsub()の第1引数に「"^\\s+"」、第2引数に空文字(””)を指定します。

そして、gsub()の第3引数に対象の文字列を指定します。

#text=対象の文字列
result <- gsub("^\\s+", "", text)

上記のgsub()は、第3引数に指定した文字列(string)から左側の空白を削除した文字列を生成します。

使用例

text <- "    H e l  l o, Wo  r l  d "

result <- gsub("^\\s+", "", text)

result
出力:
> result
[1] "H e l  l o, Wo  r l  d "

str_trim()

もうひとつは、str_trim()を使う方法です。

まず、「stringr」を導入します。

library(stringr)

次に、str_trim()を呼び出します。

str_trim()の第1引数に文字列、第2引数「side」に「”left”」を指定します。

#text=対象の文字列
result <- str_trim(text, side = "left")

上記のstr_trim()は、第1引数に指定した文字列(string)から左側の空白を削除した文字列を生成します。

使用例

library(stringr)

text <- "    H e l  l o, Wo  r l  d  "

result <- str_trim(text, side = "left")

result
出力:
> result
[1] "H e l  l o, Wo  r l  d  "

右側の空白のみを削除

4つ目は、右側の空白のみを削除する方法です。

文字列(string)の右側の空白を削除する方法は、2つあります。

gsub()

ひとつは、gsub()を使う方法です。

まず、gsub()を呼び出します。

gsub()の第1引数に「"\\s+$"」、第2引数に空文字(””)を指定します。

そして、gsub()の第3引数に対象の文字列を指定します。

#text=対象の文字列
result <- gsub("\\s+$", "", text)

上記のgsub()は、第3引数に指定した文字列(string)から右側の空白を削除した文字列を生成します。

使用例

text <- "    H e l  l o, Wo  r l  d    "

result <- gsub("\\s+$", "", text)

result
出力:
> result
[1] "    H e l  l o, Wo  r l  d"

str_trim()

もうひとつは、str_trim()を使う方法です。

まず、「stringr」を導入します。

library(stringr)

次に、str_trim()を呼び出します。

str_trim()の第1引数に文字列、第2引数「side」に「”right”」を指定します。

#text=対象の文字列
result <- str_trim(text, side = "right")

上記のstr_trim()は、第1引数に指定した文字列(string)から右側の空白を削除した文字列を生成します。

使用例

library(stringr)

text <- "    H e l  l o, Wo  r l  d    "

result <- str_trim(text, side = "right")

result
出力:
> result
[1] "H e l  l o, Wo  r l  d  "

まとめ

文字列(string)の空白を削除する方法は、次の4つです。

  • 全ての空白を削除する方法
    result <- gsub("[[:blank:]]", "", text)
  • 左右の空白を削除する方法
    • result <- gsub("^\\s+|\\s+$", "", text)
    • result <- str_trim(text, side = "both")
  • 左側の空白のみを削除する方法
    • result <- gsub("^\\s+", "", text)
    • result <- str_trim(text, side = "left")
  • 右側の空白のみを削除する方法
    • result <- gsub("\\s+$", "", text)
    • result <- str_trim(text, side = "right")

コメント

タイトルとURLをコピーしました