正则表达式匹配模式但只替换R

时间:2017-03-09 21:55:36

标签: r regex

我试图理解反向引用,我认为一个简单的例子可以帮助我。

说我有字符串“每艘皮划艇1美元+每只风筝售价10美元+ 10美元”,并希望“每只皮划艇1美元+ 40000美元+每只风筝售价10美元”

如何在R中的REGEX中执行此操作?我显然不只是想用“000”代替“k”。我也不能只使用sub(),因为匹配可能不是字符串中第一次出现。

1 个答案:

答案 0 :(得分:1)

编辑:根据@WiktorStribiżew的评论添加ignore.case

string  = "$1 per kayak + 40k + $10 per kite sold"
gsub("(\\b\\d+)k\\b", "\\1000", string,  ignore.case=TRUE)
[1] "$1 per kayak + 40000 + $10 per kite sold"