R 删除列名中特殊字符后的所有字符

R 删除列名中特殊字符后的所有字符,r,special-characters,multiple-columns,rename,columnname,R,Special Characters,Multiple Columns,Rename,Columnname,我有一个数据集,我已经导入到R中,但是需要去掉后面列名中的所有内容。我尝试了string.split、sub和grepl函数,但没有成功。任何和所有的帮助将不胜感激 我希望以下内容变成这样: 水果=>水果 蔬菜少=>蔬菜 面包屑=>面包屑 奶酪切达=>奶酪 酸奶原味%=>酸奶 使用正则表达式或正则表达式 比如:/。+/g 并使用base R删除找到的所有内容: items <- c('Fruit', 'Vegetables (Few)', 'Bread Crumbs', 'Cheese (

我有一个数据集,我已经导入到R中,但是需要去掉后面列名中的所有内容。我尝试了string.split、sub和grepl函数,但没有成功。任何和所有的帮助将不胜感激

我希望以下内容变成这样:

水果=>水果

蔬菜少=>蔬菜

面包屑=>面包屑

奶酪切达=>奶酪

酸奶原味%=>酸奶


使用正则表达式或正则表达式

比如:/。+/g

并使用base R删除找到的所有内容

items <- c('Fruit', 'Vegetables (Few)', 'Bread Crumbs', 'Cheese (Cheddar)', 'Yogurt (Plain%)')
items_simplified <- trimws(gsub('\\(.*', '', items))

> items_simplified
[1] "Fruit"        "Vegetables"   "Bread Crumbs" "Cheese"       "Yogurt"   

trimws和stru trim修剪项目的尾随和前导空格。

Try sub\\s*\.*$,v1要演示@akrun answer,Try:v1.+只选择所有字符,您没有任何与正则表达式关联的代码
library(stringr)
items_stringr <- str_trim(str_extract(items, '[^(]*'))

> items_stringr
[1] "Fruit"        "Vegetables"   "Bread Crumbs" "Cheese"       "Yogurt"