Looper
Looper

Reputation: 295

Extract text after a symbol in R

sample1 = read.csv("pirate.csv")
sample1[,7] 
[1] >>xyz>>hello>>mate 1
[2] >>xyz>>hello>>mate 2
[3] >>xyz>>mate 3
[4] >>xyz>>mate 4
[5] >>xyz>>hello>>mate 5
[6] >>xyz>>hello>>mate 6

I have to extract and create an array which contains all the words after last >>.

How to do this?

Also, How can I extract (a) o qwerty, (b) mate1 and (c) pirate1 in different variables from the following string

p= '>>xyz- o qwerty>>hello>>mate1>>sole pirate1'

Thanks

Upvotes: 22

Views: 52128

Answers (2)

Sotos
Sotos

Reputation: 51592

x <- c('>>xyz>>hello>>mate 1', '>>xyz>>hello>>mate 2', '>>xyz>>mate 3', ' >>xyz>>mate 4' ,'>>xyz>>hello>>mate 5')
sub('.*>>', '', x)
#[1] "mate 1" "mate 2" "mate 3" "mate 4" "mate 5"

Upvotes: 33

Gopala
Gopala

Reputation: 10483

Assuming you already read that stuff into an R data frame, you can use stringr package as follows:

library(stringr)
str_extract(df$mystring, '\\S+$')

For example, if you have string like this:

s <- '>>hello1>>hola1>>ahoy mate1'

You get:

str_extract(s, '\\S+$')
[1] "mate1"

Upvotes: 8

Related Questions