Dear Ferry, You're almost all the way there. Just apply each substitution in turn:
varReg <- "* < <* this is my text > > " left <- "(^[ <*]+)" right <- "([ > ]+$)" sub(right, "", sub(left, "", varReg)) [1] "this is my text" I hope this helps, John ------------------------------ John Fox, Professor Department of Sociology McMaster University Hamilton, Ontario, Canada web: socserv.mcmaster.ca/jfox > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On > Behalf Of Ferry > Sent: November-03-08 8:38 PM > To: r-help@r-project.org > Subject: [R] regex question > > hello, > > i am trying to extract text using regex as follows: > > "* < <* this is my text > > " > > into: > > "this is my text" > > below what I did: > > varReg <- "* < <* this is my text > > " > > ## either this pattern > patReg <- "(^[ <*]+)" > ## or below patten > patReg <- "([ > ]+$)" > > sub(patReg, '', varReg) > > depending of which patten I use, I could only extra the first portion > or the last portion of the unwanted characters. how to extract both > ends and keep my text "this is my text" ? > > I have tried with gsub, as below: > patReg <- "([ >* ]+)" > gsub(patReg, '', varReg) > > but it returned "thisismytext" > > any idea is appreciated. > > thanks, > > ferry > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.