Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
698 views
in Technique[技术] by (71.8m points)

string - How to get the text between two words in R?

I am trying to get the text between two words in a sentence.
For example the sentence is -

x <-  "This is my first sentence"

Now I want the text between This and first which is is my . I have tried various functions from R like grep, grepl, pmatch , str_split. However, I could not get exactly what I want .

This is the closest what I have reached with gsub.

gsub(".*This\s*|first*", "", x)

The output it gives is

 [1] "is my  sentence"

In reality, what I need is only

[1] "is my"

Any help would be appreciated.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You need .* at the end to match zero or more characters after the 'first'

 gsub('^.*This\s*|\s*first.*$', '', x)
 #[1] "is my"

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...