On Aug 3, 2010, at 12:05 AM, Daniel Malter wrote:
Hi, I have a good grasp of grep() and gsub() for finding and
extracting
character strings. However, I cannot figure out how to use a search
term
that is stored in a variable when the search string is more complex.
#Say I have a string, and want to know whether the last name
"Jannings" is
in the string. This is done by
names=c("Emil Jannings")
grep("Emil",names)
#Yet, I need to store the search terms in a variable, which works
for the
very simple example
search.term="Emil"
grep(search.term,names)
#but I cannot get it to work for the more difficult example in which
I want
to do something like
grep(^search.term,names)
grep("^search.term",names)
grep("^"search.term,names)
#Implying that the search term must be the first part of the string
that is
being searched
#Ultimately, I need to to loop over several strings stored in
search.term,
for example,
names=c("Emil Jannings","Charles Chaplin","Katherine Hepburn","Meryl
Streep")
search.term=c("Emil","Meryl")
for(i in 1:length(names)){
print(grep(^search.term[i],names))
}
So the questions I have are two. 1. How do I concatenate terms that
I would
normally quote (like "^") with variables that contain search terms
and that
normally would not be quoted? 2. How do I run this over indices of the
variable that contains the search terms?
You have gotten answers to both but for the second question there
exists a loopless alternative. This is implicitly a logical OR
operations so you could construct a single grep expression with the
collaps argument to paste:
> grep( paste("^", search.term, sep="", collapse="|"), names)
[1] 1 4
It may not be quite as flexible because it would not deliver the match
information in a sequence that aligns with the order of the search
terms.
--
David.
I greatly appreciate any help,
Daniel
--
View this message in context:
http://r.789695.n4.nabble.com/grep-with-search-terms-defined-by-a-variable-tp2311294p2311294.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________
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.
David Winsemius, MD
West Hartford, CT
______________________________________________
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.