Усечение конца строка в R после символа, который может присутствовать ноль или более раз

У меня есть следующие данные:

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)

Но я не очень хорошо знаком с регулярными выражениями и изо всех сил пытался изменить этот пример, чтобы сохранить только начало строки.

8
задан Community 23 May 2017 в 12:09
поделиться