[R言語]文字列(string)を反転して逆順にするには?

R言語

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

文字列(string)を反転して逆順にする方法を紹介します。

スポンサーリンク

方法

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

文字列(string)を反転して逆順にする方法は、2つあります。

sapply()

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

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

sapply()の第1引数にlapply()、第2引数に「paste」、第3引数「collapse」に空文字を指定します。

lapply()の第1引数にstrsplit()、第2引数に「rev」を指定します。

そして、strsplit()の第1引数に対象の文字列、第2引数に「NULL」を指定します。

#text=対象の文字列
result <- sapply(lapply(strsplit(text, NULL), rev), paste, collapse="")

上記のsapply()は、対象の文字列(string)を反転して逆順にした文字列を生成します。

上記の処理の流れは、以下のようになっています。

  1. strsplit()で文字列を1文字ずつに分割
  2. lapply()で分割した文字列を反転
  3. sapply()で分割して反転した文字列を結合

使用例

text <- "abcdef"

result <- sapply(lapply(strsplit(text, NULL), rev), paste, collapse="")

result
出力:
> result
[1] "fedcba"

stri_reverse()

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

まず、stringiを導入します。

library(stringi)

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

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

#text=対象の文字列
result <- stri_reverse(text)

上記のstri_reverse()は、対象の文字列(string)を反転して逆順にした文字列を生成します。

使用例

library(stringi)

text <- "abcdef"

result <- stri_reverse(text)

result
出力:
> result
[1] "fedcba"

まとめ

文字列(string)を反転して逆順にする方法は、次の2つです。

  • sapply()を使う方法
    result <- sapply(lapply(strsplit(text, NULL), rev), paste, collapse="")
  • stri_reverse()を使う方法
    result <- stri_reverse(text)

コメント

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