我想替换匹配特定模式的字符串中的每个字符。采取以下字符串
mystring <- c("000450")
我希望将所有单个零匹配到第一个非零的元素。我试过像
这样的东西gsub("^0[^1-9]*", "x", mystring)
[1] "x450"
此表达式用一个x
替换所有前导零。但相反,我想用xxx
替换所有三个前导零。首选结果是
[1] "xxx450"
任何人都可以帮助我吗?
答案 0 :(得分:10)
您可以使用
Duration
请参阅regex demo和R demo
Duration 2 2Y 3 3Y
customer
Invoice A 2550 0.00 0.00 2000
Invoice B 5000 2500 1050 0.00
Invoice C 12500 0.00 1120 2050
Invoice D 0.00 1500 0.00 8010
正则表达式匹配字符串开头的mystring <- c("000450")
gsub("\\G0", "x", mystring, perl=TRUE)
## => [1] "xxx450"
以及仅在成功匹配后才会显示的任何\\G0
。
<强>详情
0
- 一个匹配(&#34;断言&#34;)字符串开头位置或成功匹配后的位置0
- \G
字符。