Gregor GORJANC wrote:
Henrik Bengtsson wrote:
...

Henrik, thanks. So you suggest something like

for (i in seq(along=map)) {
   URL <- gsub(pattern=names(map)[i], replacement=map[i], x=URL)
}


Yes, something like that. To optimize, you might want to do

patterns <- names(map);
for (i in seq(along=map)) {
 URL <- gsub(pattern=patterns[i], replacement=map[i], x=URL)
}


Do I gain anything more than readability by this optimization?

Yes, names() is only called once and not length(map) times. You won't probably notice it, but it is a good custom to do the above. Sometimes you're dealing with much larger vectors and then it will pay off.


/Henrik



More important is that you treat a standard "%" different from a "%"
used in encoding, e.g. how do you want to convert the string "100% %20"?
You probably have to utilize more "fancy" regular expressions to detect
a standard "%". Maybe "%[^0-9a-fA-F]" will do. There should be much more
details in the document Brian Ripley refered you to.

In other words, you have to be careful and try to think through all
cases you function may be called. A good test is to call it twice, once
on your original string and the on the escaped on; you should get the
same result. It depends how complete you want your function to be.

Thanks again.


______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to