从r中列中的每个值中删除相同的子字符串

从r中列中的每个值中删除相同的子字符串,r,R,我正试图对文件进行一些数据清理。我试图清理的特定字段描述了它最初来自哪个文件。因此,字段中的值末尾始终有“.csv”。我想删除这部分值,但保留其余值 以下是该字段的一个示例: File Name bagel.csv donut.csv hamburger.csv carrots.csv 我希望字段看起来像这样: File Name bagel donut hamburger carrot 有没有办法在R中做到这一点?如蒙协助,将不胜感激 最好提供: 说明: 我们可以使用regex替换序列:

我正试图对文件进行一些数据清理。我试图清理的特定字段描述了它最初来自哪个文件。因此,字段中的值末尾始终有“.csv”。我想删除这部分值,但保留其余值

以下是该字段的一个示例:

File Name
bagel.csv
donut.csv
hamburger.csv
carrots.csv
我希望字段看起来像这样:

File Name
bagel
donut
hamburger
carrot

有没有办法在R中做到这一点?如蒙协助,将不胜感激

最好提供:

说明:

我们可以使用
regex
替换序列:

“(
\.
)后跟“csv”(
csv
),后跟行尾(
$

使用空字符串(
“”


通过遵循@ G5W的建议,我们确信,因为我们只想删除扩展,所以如果它出现在行的中间,我们不会意外地替换字符串(例如:在“函数.CSV.txt”中),我们不想替换“.cv”部分)

也可以使用<代码> dPLYR

library(dplyr)

df <- data.frame(FileName = c('bagel.csv','donut.csv','hamburger.csv','carrots.csv'))

df <- df %>% mutate(FileName = gsub("\\..*","",FileName))
库(dplyr)

df我们可以使用
工具中的
文件路径\u sans\u ext

tools::file_path_sans_ext(field)
#[1] "aa" "bb" "cc"
数据
field
sub(“\\.csv$”,“”,field)
可能是safer@G5W你说得对,我更新了我的建议!谢谢你的评论。这很有效。谢谢。下次我一定会添加一个最小的可复制示例。态度非常好!很高兴我能帮忙!
library(dplyr)

df <- data.frame(FileName = c('bagel.csv','donut.csv','hamburger.csv','carrots.csv'))

df <- df %>% mutate(FileName = gsub("\\..*","",FileName))
tools::file_path_sans_ext(field)
#[1] "aa" "bb" "cc"
field <- c("aa.csv", "bb.csv", "cc.csv")