R言語で、stringr::str_locate()の結果を反転させる方法について解説します。文字列の操作には、tidyverseパッケージに含まれているstringrパッケージを使用するのが便利です。ここでは、stringrパッケージのinvert_match()を使用した方法についてお伝えします。

invert_match()の概要

invert_match()は、stringr::str_locate()の結果を反転させるための関数です。

invert_match()の使い方

stringr::invert_match()の使い方は次になります。


invert_match(loc)

invert_match()の引数の意味

loc

str_locate()、str_locate_all()からの一致位置の行列を指定します。

準備

あらかじめ、tidyverseパッケージを読み込んでおきます。


library(tidyverse)

解説のために、次の文字列を使用します。


s <- "So many men, so many minds."

invert_match()の使用例

文字列sで、「many」に最初に一致する開始位置と終了位置を反転させるには次のようにします。


invert_match(str_locate(s, "many"))

    start end
        0   3
end     8  -1
R×stringr::invert_match str_locate()の結果を反転させる