我有一个带有列(Col2)的数据框(df),如下所示:
Col1 Col2 Col3
1 C607989_booboobear_Nation A
2 C607989_booboobear_Nation B
3 C607989_booboobear_Nation C
4 C607989_booboobear_Nation D
5 C607989_booboobear_Nation E
6 C607989_booboobear_Nation F
我只想提取 Col2 中的数字
Col1 Col2 Col3
1 607989 A
2 607989 B
3 607989 C
4 607989 D
5 607989 E
6 607989 F
我试过这样的事情:
gsub("^.*?_","_",df$Col2)
但它不起作用。
最佳答案
如果您的字符串不太花哨/复杂,则可能最容易执行以下操作:
gsub("C([0-9]+)_.*", "\\1", df$Col2)
# [1] "607989" "607989" "607989" "607989" "607989" "607989"
以“C”开头,然后是数字,然后是下划线,然后是其他任何内容。使用
()
捕获数字,并将替换设置为该捕获组 ( \\1
)。
关于删除数据框列 (R) 中的部分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25277117/