[R] Flummoxed by gsub().

Rolf Turner r.turner at auckland.ac.nz
Thu Aug 24 00:39:07 CEST 2017


On 24/08/17 02:46, Bert Gunter wrote:
> Inline.
> 
> -- Bert
> 
> 
> Bert Gunter
> 
> "The trouble with having an open mind is that people keep coming along
> and sticking things into it."
> -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
> 
> 
> On Wed, Aug 23, 2017 at 2:29 AM, Rolf Turner <r.turner at auckland.ac.nz> wrote:
>>
>> On 23/08/17 18:33, Stefan Evert wrote:
>>
>>>
>>>> On 23 Aug 2017, at 07:45, Rolf Turner <r.turner at auckland.ac.nz> wrote:
>>>>
>>>> My reading of ?regex led me to believe that
>>>>
>>>>      gsub("[:alpha:]","",x)
>>>>
>>>> should give the result that I want.
>>>
>>>
>>> That's looking for any of the characters a, l, p, h, : .
>>
>>
>> OK.  I see that now.  I don't think that it's really stated anywhere that to
>> search for (and possibly change) any one of a string of characters you
>> enclose that string of characters in brackets [  ].
>>
>> The first example from ?grep makes this "clear" (for some value of the word
>> "clear") once you understand what this example is on about.
>>
>> So it's "obvious" once you've been shown, and totally opaque until then.
> 
> Well, "obviousness" is in the mind of the beholder, but, from ?regexp:
> 
> "A character class is a list of characters enclosed between [ and ]
> which matches any single character in that list; "... (at the end of
> the above section)
> 
> "For example, [[:alnum:]] means [0-9A-Za-z] "...
> 
> Note the doubled brackets. So seems pretty explicit to me.

Well, yes.  Once it's pointed out it's "obvious".  But it's buried 
pretty deeply in a large mass of text, and I didn't see it until you 
pointed it out.

If *I* had written the help file, it would be much more perspicuous.

cheers,

Rolf

-- 
Technical Editor ANZJS
Department of Statistics
University of Auckland
Phone: +64-9-373-7599 ext. 88276



More information about the R-help mailing list