2
私はいくつかの行を持ち、いくつかはかっこを持ち、いくつかはありません。 ABC(DEF)
およびABC
のようになります。私は括弧から情報を抽出したい:括弧の中の情報を抽出するR
- ABC(DEF) - > DEF
- ABC - > NA
私はそれはABCのために良い作品
gsub(".*\\((.*)\\).*", "\\1",X).
を書いた(DEF )、括弧がない場合は "ABC"を出力します。
私はいくつかの行を持ち、いくつかはかっこを持ち、いくつかはありません。 ABC(DEF)
およびABC
のようになります。私は括弧から情報を抽出したい:括弧の中の情報を抽出するR
私はそれはABCのために良い作品
gsub(".*\\((.*)\\).*", "\\1",X).
を書いた(DEF )、括弧がない場合は "ABC"を出力します。
正規表現でsub
を使用するときにABC
を取得したくない場合は、空でないすべての文字列と一致する代替語句を追加して削除する必要があります。
X <- c("ABC(DEF)", "ABC")
sub(".*(?:\\((.*)\\)).*|.*", "\\1",X)
^^^
IDEONE demoを参照してください。
gsub
を使用する必要はありません。交換を1回行うだけで済みますので、sub
となります。
また、stringrstr_match
もこの作業のために便利になります:
str_match(X, "\\((.*)\\)")
または
str_match(X, "\\(([^()]*)\\)")
を参照してくださいhttp://ideone.com/pq2NmX –
また 'stringrを使用することができますstr_match(X、 "\\(([^()] *)\\)") ' –