[R] Applying "toupper" to only portions of text strings
Eik Vettorazzi
E.Vettorazzi at uke.uni-hamburg.de
Fri May 27 16:02:39 CEST 2011
or even shorter
TEXT <- c("aaaa", "bbb|cc", "|ddd")
gsub("(^.*[|])","\\U\\1",TEXT,perl=T)
Am 27.05.2011 00:24, schrieb Phil Spector:
> Dennis -
> Here's one way, using a somewhat obscure feature of perl
> regular expressions, i.e. the \U and \L escape characters which
> modify the case of the strings they appear in:
>
>> TEXT <- c("aaaa", "bbb|cc", "|ddd")
>> sub('([a-z]*)(\\|?)([a-z]*)','\\U\\1\\2\\L\\3',TEXT,perl=TRUE)
> [1] "AAAA" "BBB|cc" "|ddd"
>
> - Phil Spector
> Statistical Computing Facility
> Department of Statistics
> UC Berkeley
> spector at stat.berkeley.edu
>
>
>
> On Thu, 26 May 2011, Dennis Fisher wrote:
>
>> Colleagues
>>
>> Assume that I have a vector containing some text strings, some of
>> which contain a particular character. I could like to apply "toupper"
>> to the text before the character. For example (in this case, "|" is
>> the particular character):
>>
>> ORIGINAL:
>> TEXT <- c("aaaa", "bbb|cc", "|ddd")
>>
>> AFTER APPLICATION OF toupper:
>> TEXT <- c("AAAA", "BBB|cc", "|dddd")
>>
>> I could loop through each element, strsplit at the character, apply
>> toupper to the first component, then paste each element together.
>> But, I hope that there is a simpler means to accomplish this.
>>
>> Thanks in advance.
>>
>> Dennis
>>
>>
>> Dennis Fisher MD
>> P < (The "P Less Than" Company)
>> Phone: 1-866-PLessThan (1-866-753-7784)
>> Fax: 1-866-PLessThan (1-866-753-7784)
>> www.PLessThan.com
>>
>> ______________________________________________
>> R-help at 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.
>>
>
> ______________________________________________
> R-help at 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.
--
Eik Vettorazzi
Department of Medical Biometry and Epidemiology
University Medical Center Hamburg-Eppendorf
Martinistr. 52
20246 Hamburg
T ++49/40/7410-58243
F ++49/40/7410-57790
More information about the R-help
mailing list