我想替换匹配特定模式的字符串中的每个字符.请使用以下字符串
mystring <- c("000450")
Run Code Online (Sandbox Code Playgroud)
我希望将所有单个零匹配到第一个非零的元素.我试过类似的东西
gsub("^0[^1-9]*", "x", mystring)
[1] "x450"
Run Code Online (Sandbox Code Playgroud)
此表达式用一个替换所有前导零x
.但相反,我想要替换所有三个前导零xxx
.首选的结果是
[1] "xxx450"
Run Code Online (Sandbox Code Playgroud)
谁能帮我吗?
Wik*_*żew 10
你可以用
mystring <- c("000450")
gsub("\\G0", "x", mystring, perl=TRUE)
## => [1] "xxx450"
Run Code Online (Sandbox Code Playgroud)
在\\G0
正则表达式匹配0
字符串的开始,任何0
只匹配成功后出现.
细节
\G
- 匹配("断言")字符串开头位置或成功匹配后的位置的锚点0
- 一个0
炭.