有一个简化的示例字符串,如下所示:
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%."
这类问题通常被标记为重复。我一直在寻找半小时而没有,所以我决定询问一些正则表达式大师是否可以提供帮助。
答案 0 :(得分:0)
如何:
gsub("(BB: )\\d%","\\1no data", string)