> On Aug 24, 2017, at 10:20 AM, David Winsemius <dwinsem...@comcast.net> wrote:
> 
> 
>> On Aug 23, 2017, at 2:29 AM, Rolf Turner <r.tur...@auckland.ac.nz> wrote:
>> 
>> 
>> On 23/08/17 18:33, Stefan Evert wrote:
>> 
>>>> On 23 Aug 2017, at 07:45, Rolf Turner <r.tur...@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 [  ].
> 
> That's explained on the ?regex page in the section on character classes. The 
> source of confusion for you is that within regex character classes there is 
> also a set of reserved constructions that all start and end with "[:" and 
> ":]". It's a bit like needed to double or triple escape characters in regex. 
> a leading "|" changes the parser settings (or "expectations" if one wants to 
> anthropomorphize the process.

I meant a leading backslash "\" rather than a vertical bar ("|")

-- 
David.
> 
>> 
>> 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.
> 
> Sometimes we all stumble over syntactic "special" detours. If you wanted to 
> add a warning to the current ?regex tex, you could submit a diff for the base 
> package, perhaps with something like:
> 
> "Certain named classes of characters are predefined. Their interpretation 
> depends on the locale (see locales); the interpretation below is that of the 
> POSIX locale."
> 
> Replaced with:
> 
> "Certain named classes of characters are predefined. Their interpretation 
> depends on the locale (see locales); the interpretation below is that of the 
> POSIX locale. Their names do include the "[:" and ":]" characters."
> 
> 
>> 
>>> What you meant to say was
>>>     gsub("[[:alpha:]]","",x)
>>> i.e. the character class [:alpha:] within a character set.
>> 
>> Yup.  Got it.  Thanks very much.
>> 

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.

Reply via email to