我想删除字符串中第二次和后续出现的小数点。我的尝试如下:
library(stringr)
str_remove(string = "3.99-0.13", pattern = "\\.")
[1] "399-0.13"
sub("\\.", "", "3.99-0.13")
[1] "399-0.13"
Run Code Online (Sandbox Code Playgroud)
但是,我想要像这样的输出3.99-013。任何提示,请。
一个简洁的解决方案基于后视:
library(stringr)
str_remove_all(x, "(?<=\\..{0,10})\\.")
[1] "3.99-01322" "3.99013"
Run Code Online (Sandbox Code Playgroud)
这里,后视断言在执行操作之前(?<=\\..{0,10})a.必须已经发生。str_remove_all
数据:
x <- c("3.99-0.13.2.2", "3.990.13")
Run Code Online (Sandbox Code Playgroud)