Subscribed unsubscribe Subscribe Subscribe

CPSAM.org

computer, programming, statistics and more!

R正規表現

Rで正規表現を使いたい

 

基本関数: パターンを使ってXに対して何かしたい

[grep] パターンが一致する要素のインデックスを返す

grep("PATTARN", x)

 

[sub] Xの各要素から一致するパターンを除いたもので構成されるベクトルを返す

sub("PATTARN", X)

 

正規表現パターンの作り方

スペース:[ ] 

2回以上繰り返す:{2, }

 

 

たとえば、ベクトルXの各要素にスペースが適当に入っており除きたいときは、スペースを1回以上繰り返す正規表現 ”[ ]{1, }” を使ってスペースを検索し、 ”” で置換するという手順を踏む

> X <- c(" a", "  b", "   c", "    d")

> sub("[ ]{1, }”, "", X)

[1] "a" "b" "c" "d"

となる。

繰り返しの表現は

{a, b}

としてa以上b以下に繰り返す、とするのを基本として

?:0もしくは1回繰り返す

*:0回以上繰り返す

+:1回以上繰り返す

という簡略形もある

つまり、

sub("[ ]{1,}", "", X) は sub("[ ]+", "", X) と同義

つまり

{0,1} = ?

{0,  } = *

{1,  } = +

 ということ

 

Remove all ads