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

时间:2019-05-02 18:56:05

标签: r special-characters multiple-columns rename columnname

我有一个导入到R中的数据集,但是需要删除“(”之后的列名称中的所有内容。我尝试了string.split(), sub(), and grepl()函数,但没有成功。任何帮助将不胜感激!

我希望以下内容成为这个:

  
    

水果=>水果

         

蔬菜(很少)=>蔬菜

         

面包屑=>面包屑

         

奶酪(切达干酪)=>奶酪

         

酸奶(%)=>酸奶

  

2 个答案:

答案 0 :(得分:0)

使用基数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"   

您还可以使用stringr软件包中的tidyverse

library(stringr)
items_stringr <- str_trim(str_extract(items, '[^(]*'))

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

trimwsstr_trim修剪掉项目中尾随的空格。

答案 1 :(得分:-1)

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

例如:/(.+)/ g

并删除找到的所有内容