Соответствует регулярному выражению, которое начинается в начале ^
или после пробела [[:space:]]
и сопровождается алфавитным символом [[:alpha:]]
. Глобально (данный в gsub) замените все такие вхождения на совпавшее начало или пробел и заглавную версию сопоставленного алфавитного символа, \\1\\U\\2
. Это должно быть сделано с сопоставлением регулярных выражений в стиле Perl.
gsub("(^|[[:space:]])([[:alpha:]])", "\\1\\U\\2", name, perl=TRUE)
# [1] "Zip Code" "State" "Final Count"
В более подробном описании аргумента замены для gsub()
, \\1
говорит: «используйте часть x
, соответствующую первому подвыражению», то есть часть x
, соответствующую (^|[[:spacde:]])
. Аналогично, \\2
говорит, что использует часть x
, соответствующую второму подвыражению ([[:alpha:]])
. \\U
- это синтаксис, включенный с помощью perl=TRUE
, и означает сделать следующий символ заглавным. Таким образом, для "почтового индекса" \\1
- это "почтовый индекс", \\2
- это "код", \\U\\2
- это "код" и \\1\\U\\2
- это "почтовый индекс".
Страница ?regexp
полезна для понимания регулярных выражений, ?gsub
для объединения вещей.