2016-05-07 9 views
0

文字列の束がベクトルにあり、文字列の一部の" (dblheader)"部分を削除しようとしています。私はsub(" (dblheader)", "", startinglineups$Teams)gsubを使用して試してみましたが、それらのどちらもトリックを行うために見せかけている文字列ベクトルからフレーズを削除する

startinglineups$Teams  
[1] "Colorado Rockies"    "San Francisco Giants"   "Kansas City Royals"   "Cleveland Indians"    
[5] "Oakland A's (dblheader)"  "Baltimore Orioles (dblheader)" "Arizona Diamondbacks"   "Atlanta Braves"    

:ここでは、文字列の私のベクトルです。私は前に空白文字、またはかっこで問題があると思います。私は、正確なフレーズを検索することで問題は解決すると思ったが、間違っている。私は使用する必要のあるエスケープシーケンスがあるかもしれないと思っています。

答えて

1

使用できるエスケープシーケンスがあります(後で説明します)。ただし、文字列と完全に一致しているため、sub()呼び出しにfixed = TRUEを追加するだけで済みます。

sub(" (dblheader)", "", startinglineups$Teams, fixed = TRUE) 

これは、正規表現エンジンをバイパスするので、正規表現を使用するよりも高速になります。

それ以外の場合は、正規表現のカッコがグループ化とキャプチャに使用されるため、文字通り使用するためにエスケープする必要があります。だから正規表現の使用のために、あなたはできたかもしれない

sub(" \\(dblheader\\)", "", startinglineups$Teams) 
関連する問題