Mam następujące dane:Obcinanie końcu łańcucha w R po znaku, który może być obecny zero lub więcej razy
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")
Chciałbym utworzyć nowy wektor, który zachowuje tylko tekst przed najpierw ":" w przypadkach, gdy występuje ":", a całe słowo, gdy ":" nie występuje.
Próbowałem użyć:
temp=data.frame(matrix(unlist(str_split(temp,pattern=":",n=2)),
+ ncol=2, byrow=TRUE))
ale to nie działa w przypadkach, gdy nie istnieje „:”
Wiem, że to pytanie jest bardzo podobny do: truncate string from a certain character in R, które kiedyś :
sub("^[^.]*", "", x)
Ale nie jestem zaznajomiony z wyrażeniami regularnymi i starałem się odwrócić ten przykład, aby zachować tylko początek linii sol.
Dzięki za to! i wyjaśnienie regex –