[R] removing all non-numeric characters from a string, but not "."
Marc Schwartz
marc_schwartz at me.com
Tue Jul 26 23:45:07 CEST 2016
> On Jul 26, 2016, at 4:39 PM, Marc Schwartz <marc_schwartz at me.com> wrote:
>
>
>> On Jul 26, 2016, at 4:28 PM, Dimitri Liakhovitski <dimitri.liakhovitski at gmail.com> wrote:
>>
>> Hello!
>>
>> I have a string x:
>> x <- c("x - 84", "y - 293.04", "z = 12.5")
>>
>> I want to remove all the non-numeric stuff from it. The following works:
>> gsub("[^0-9]", "", x)
>>
>> However, it strips my numbers of "."
>>
>> Help - how could I do the same but leave the "." in?
>>
>> Thanks a lot!
>>
>> --
>> Dimitri Liakhovitski
>
>
>> gsub("[^0-9\\.]", "", x)
> [1] "84" "293.04" "12.5"
>
> The period needs to be escaped since it otherwise has special meaning in the regex.
>
> Regards,
>
> Marc Schwartz
Actually, let me correct my reply.
When in a character group, as is the case here, the period does not need to be escaped:
> gsub("[^0-9.]", "", x)
[1] "84" "293.04" "12.5"
Regards,
Marc
More information about the R-help
mailing list