在数据框的列中使用gsub或grep

Tom*_*m A 1 grep r gsub dataframe

我有一个数据框列,看起来像这样:

>df[,2]

A    
10
10.1
10a
10a.1
12a.6
13b
17
3c.3
Run Code Online (Sandbox Code Playgroud)

除了列大约70,000行.我想查找并删除仅出现在列中因子末尾的所有小数.

基本上,我如何正确实现'grep()'或'gsub()'函数?

the*_*ail 5

Doneskis:

x <- c("10","10.1","10a","10a.1","12a.6","13b","17","3c.3")
gsub("\\..+$","",x)
#[1] "10"  "10"  "10a" "10a" "12a" "13b" "17"  "3c" 
Run Code Online (Sandbox Code Playgroud)

要给出一些解释:.在正则表达式中表示"任何字符",因此要在text(".")中搜索实际的句点/点,您需要使用\\- 即转义它\\.

因此,gsub调用找到一个句点\\.,后跟任何字符的任何字符或重复.+,后跟字符串的结尾$