7

重複の可能性:
括弧、括弧、および/または中括弧内のテキストを削除します

大きなテキストファイルの括弧と括弧の間のテキストを置き換えたいです。

入力例(テキストファイルの内容):

Keep me (Remove Me 1). Again keep me (Remove Me 2). Again again keep me (Remove Me 3).

出力 (新しいテキスト ファイルの内容):

Keep me. Again keep me. Again again keep me. 

Rでこれを行うことは可能ですか(grepを使用して)?

4

1 に答える 1

27

はい、gsub()不要なすべてのテキストを空の文字列に置き換えるために使用します。

x <- "Keep me (Remove Me 1). Again keep me (Remove Me 2). Again again keep me (Remove Me 3)."

必要な正規表現は次のとおりです。

gsub( " *\\(.*?\\) *", "", x)
[1] "Keep me. Again keep me. Again again keep me."

それはこのように動作します:

  • *?かっこの前 (および後) の 0 個以上のスペースを検索します。
  • (とは正規表現の特殊記号であるため)、これらをエスケープする必要があります。\\(
  • これ.*?は、すべての文字を検索するためのワイルドカード検索であり、?貪欲でない方法で検索する手段です。正規表現はデフォルトで貪欲であるため、これが必要です。つまり、デフォルトでは、正規表現は最初の開き括弧で一致を開始し、最後の閉じ括弧で一致を終了します。
于 2012-11-23T12:54:14.577 に答える