ho i seguenti dati:Troncare la fine di una stringa in R dopo un carattere che può essere presente zero o più volte
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")
Vorrei creare un nuovo vettore che conserva solo il testo prima della prima ":" nei casi in cui è presente un ":" e l'intera parola quando ":" non è presente.
ho cercato di usare:
temp=data.frame(matrix(unlist(str_split(temp,pattern=":",n=2)),
+ ncol=2, byrow=TRUE))
ma non funziona nei casi in cui non v'è alcuna ":"
So che questa domanda è molto simile a: truncate string from a certain character in R, che ha usato :
sub("^[^.]*", "", x)
Ma io non sono molto familiare con le espressioni regolari e hanno lottato per invertire tale esempio di mantenere solo l'inizio del strIn g.
Grazie per questo! e la spiegazione della regex –