« [R]fwriteによる日付時刻型の出力 | トップページ | [R]正規表現を使用してファイル名を表す文字列から拡張子を消す »

2024年1月22日 (月)

[R]文字列から正規表現にマッチする文字列を抜き出す

str_extract関数を使う。str_match関数はその抜き出した文字列を分解して配列にして返す。マッチする文字列が無い場合はNAを返す。

以下は、郵便番号を表していると思われる文字列から、郵便番号の箇所のみ抜き出した例。正規表現では、「3桁の数字」+「「-」か何も無し」+「4桁の数字」からなる文字列を郵便番号と仮定して、抜き出している。str_match関数はマッチした内容を分解して表形式にして返す。

> s <- c("123-4567", "〒123-4567", "1234567", "123@4567", " 123-4567 ")
> str_extract(s, "([0-9]{3})(-*)([0-9]{4})")
[1] "123-4567" "123-4567" "1234567" NA "123-4567"
> str_match(s, "([0-9]{3})(-*)([0-9]{4})")
[,1] [,2] [,3] [,4]
[1,] "123-4567" "123" "-" "4567"
[2,] "123-4567" "123" "-" "4567"
[3,] "1234567" "123" "" "4567"
[4,] NA NA NA NA
[5,] "123-4567" "123" "-" "4567"

« [R]fwriteによる日付時刻型の出力 | トップページ | [R]正規表現を使用してファイル名を表す文字列から拡張子を消す »

R(正規表現)」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [R]fwriteによる日付時刻型の出力 | トップページ | [R]正規表現を使用してファイル名を表す文字列から拡張子を消す »

無料ブログはココログ

■■

■■■