[R] Manipulate strings reordering some elements

Berend Hasselman bhh at xs4all.nl
Tue Mar 13 11:12:24 CET 2012

On 13-03-2012, at 10:42, Igor Sosa Mayor wrote:

> Hi R-Users,
> I want to manipulate some strings in the following way. I have the
> following vector with spanish municipalities:
> municipios<-c("Allande", "Aller", "Amieva", "Avilés", "Belmonte de
> Miranda", 
> "Degaña", "Franco (El)", "Gijón", "Gozón", "Grado", "Grandas de Salime", 
> "Quirós", "Regueras (Las)", "Ribadedeva", "Ribadesella", "Ribera de
> Arriba")
> The problem is: some names have an article ("Franco (El)", "Regueras
> (Las)"). Others don't. I want to do the following conversion:
> "Regueras (Las)"---> "Las Regueras"
> That is: I want to loop through the names, look whether they have a
> postponed article, extract and delete this article and put it in front
> of the rest of the name.
> Any hints? Thanks in advance.

gsub("([^\\s]+)\\s*(\\()(.*)(\\))","\\3 \\1", municipios, perl=TRUE)


More information about the R-help mailing list