2014-02-19 2 views
1

У меня есть строка, что мне нужно, чтобы преобразовать его в заранее оговоренном формате случая:преобразования случай на выбранном алфавите в R с использованием GSUB

CHAN TAI MAN потребности быть преобразованы в CHAN Tai Man

Строка на самом деле китайский имя. Я знаю, как захватить AI и AN в моем случае, используя следующую команду в regex R:

^[A-Z]+ [A-Z]([A-Z]+) [A-Z]([A-Z]+) может забрать AI и AN для меня, но я не знаю, как использовать regex для CONVER их снизить дело.

Как это сделать?

ответ

1

Вот решение с использованием sub:

s <- "CHAN TAI MAN" 

sub("(\\w+ \\w)(\\w+)(\\w)(\\w+)", "\\1\\L\\2\\U\\3\\L\\4", s, perl = TRUE) 
# [1] "CHAN Tai Man" 

Здесь \\L означает нижний регистр, и \\U означает верхний регистр.

Смежные вопросы