使用gsub转换R中选定字母表上的大小写

时间:2014-02-19 07:36:29

标签: regex r

我有一个字符串,我需要将其转换为预先指定的案例格式:

CHAN TAI MAN需要转换为CHAN Tai Man

该字符串实际上是一个中文名称。我知道如何在R中使用以下AI命令捕获ANregex

^[A-Z]+ [A-Z]([A-Z]+) [A-Z]([A-Z]+)可以为我提取AIAN,但我不知道如何使用regex将它们转换为小写。

怎么做?

1 个答案:

答案 0 :(得分: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表示大写。