问题
I have a data frame like this:
name weight
r apple 0.5
y pear 0.4
y cherry 0.1
g watermelon 5.0
pp grape 0.5
y apple pear 0.4
... ...
I would like to remove all characters before the first white space in the name column. Can anybody give me a favor? Thank you!
回答1:
Try this:
sub(".*? ", "", D$name)
Edit:
The pattern is looking for any character zero or more times (.*
) up until the first space, and then capturing the one or more characters ((.+)
) after that first space. The ?
after .*
makes it "lazy" rather than "greedy" and is what makes it stop at the first space found. So, the .*?
matches everything before the first space, the space matches the first space found.
回答2:
If D
is your data frame, try
sub(".+? ", "", D$name)
回答3:
Let's say your data frame is called 'df'
library(reshape2)
df$name = colsplit(df$name," ", names = c("chuck","name"))[,2]
来源:https://stackoverflow.com/questions/32767164/use-gsub-remove-all-string-before-first-white-space-in-r