我有以下数据:
temp<-c("AIR BAGS:FRONTAL" ,"SERVICE BRAKES HYDRAULIC:ANTILOCK",
"PARKING BRAKE:CONVENTIONAL",
"SEATS:FRONT ASSEMBLY:POWER ADJUST",
"POWER TRAIN:AUTOMATIC TRANSMISSION",
"SUSPENSION",
"ENGINE AND ENGINE COOLING:ENGINE",
"SERVICE BRAKES HYDRAULIC:ANTILOCK",
"SUSPENSION:FRONT",
"ENGINE AND ENGINE COOLING:ENGINE",
"VISIBILITY:WINDSHIELD WIPER/WASHER:LINKAGES")
我想创建一个新向量,在存在“:”的情况下仅保留第一个“:”之前的文本,在不存在“:”时保留整个单词。
我尝试过使用:
temp=data.frame(matrix(unlist(str_split(temp,pattern=":",n=2)),
+ ncol=2, byrow=TRUE))
但在没有“:”的情况下不起作用
我知道这个问题与以下问题非常相似:从R中的某个字符截断字符串,其中使用:
sub("^[^.]*", "", x)
但我对正则表达式不太熟悉,并且一直在努力扭转该示例以仅保留字符串的开头。