我是一个正则表达式的新手,请多多包涵。
我有一个字符串,像这样:
txt1 <- 'a,b,a.b,a.,1,2,1.2,1.,.,11,222,11.222,11.'
假设数据来自一个 .csv 文件,每个单元格都用 ',' 分隔。现在我想要移除所有的 '.',但是需要保留标记小数点的 '.'。最终,我希望得到类似于以下内容:
txt2 <- 'a,b,ab,a,1,2,1.2,1,,11,222,11.222,11'
我尝试了以下代码:
txt2 <- gsub(pattern = '[^a-z0-9,(\\d\\.\\d)]', replacement = '', text = txt1)
txt2 <- gsub(pattern = '[^a-z0-9,|(\\d\\.\\d)]', replacement = '', text = txt1)
但是两者都不起作用,都返回了相同的结果。
> print(txt2)
[1] "a,b,a.b,a.,1,2,1.2,1.,.,11,222,11.222,11."
有什么想法可以帮我纠正代码吗?谢谢!
\.
放入捕获组的目的是什么? - CAustin(?<![0-9,])
。 - zambonee