1
string <- c("tyuynmklabcwsqzp")

私のタスクがすべての「abc」を「abc123」に置き換えることである場合、コードは次のようになります。

gsub("abc", "\\1123", string)

しかし、「abc」を検索して「c123」に置き換える必要がある場合は、どうすればよいですか?正規表現をパーツに分割して、\1のように\2を使用できるようにする方法はありますか?可能であれば、私のコマンドは次のようになります。

gsub("abc", "\\2123", string).

助けてください。

4

2 に答える 2

3

括弧を使用して正規表現の一部をグループ化し、その後、一致したグループに繰り返し演算子または後方参照を適用できます。

あなたの場合、これを試してください:

string <- c("tyuynmklabcwsqzp")
gsub("(ab)(c)", "\\2123", string)
# [1] "tyuynmklc123wsqzp"
于 2012-10-17T13:47:22.273 に答える
2

使用してみてください

gsub("(abc)", "\\1123", string)   # abc → abc123

gsub("ab(c)", "\\1123", string)   # abc → c123
于 2012-10-17T13:46:18.893 に答える