匹配gsub模式中的下一个符号

时间:2018-05-28 16:00:39

标签: r regex gsub

有一个简化的示例字符串,如下所示:

string = "AA: 1%, BB: 2%, CC: 3%, DD: 4% and EE: 5%."

我想通过匹配模式来替换它的一部分。我尝试过这样使用gsub:

gsub("(BB{1}.*%{1}), ","BB: no data, ",string)

但它返回下一个:

"AA: 1%, BB: no data, DD: 4% and EE: 5%."

好像它正在寻找最后的% simbol。我想替换下一个%,而不是最后一个,保持CC部分。所需的输出:

"AA: 1%, BB: no data, CC: 3%, DD: 4% and EE: 5%."

这类问题通常被标记为重复。我一直在寻找半小时而没有,所以我决定询问一些正则表达式大师是否可以提供帮助。

1 个答案:

答案 0 :(得分:0)

如何:

gsub("(BB: )\\d%","\\1no data", string)