Wir ein oder mehr Zeichen entsprechen können, die keine Großbuchstaben sind Buchstaben ([^A-Z]+
), die einen Großbuchstaben folgt (mit dem regex Lookarounds - (?<=[A-Z])
) und ersetzen sie es mit einem leeren (""
)
gsub("(?<=[A-Z])[^A-Z]+", "", NAMES$ID, perl = TRUE)
#[1] "GW"
oder ohne Lookarounds und Verwenden von Erfassungsgruppen. Wir fangen die Großbuchstaben als durch einen oder mehrere nicht Großbuchstaben gefolgt Gruppe und ersetzen Sie es mit dem Rückreferenzierung (\\1
)
gsub("([A-Z])[^A-Z]+", "\\1", NAMES$ID)
#[1] "GW"
nur um sicher zu sein, wir können auch die Wortgrenze umfassen
gsub("(\\b[A-Z])[^A-Z]+", "\\1", NAMES$ID)
Verwenden Sie 'gsub (" [^ AZ] * ([AZ]) [^ AZ] * "," \\ 1 ", NAMES $ ID)' –