Re: [R] "Special" characters in URI

From: Henrik Bengtsson <hb_at_maths.lth.se>
Date: Wed 04 May 2005 - 00:33:17 EST

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.
>

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Wed May 04 01:02:20 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:32 EST