如何通过R中的正则表达式匹配找到带小写字母的字母

时间:2014-02-24 21:04:30

标签: regex r substitution lowercase

我有一串带连字符的字符串。我想删除连字符并将以下字母转换为小写,同时保持所有其他字母完整。你如何在R中完成任务?

test <- "Kwak Min-Jung"
gsub(x=test,pattern="-(\\w)",replacement="\\1")
# [1] "Kwak MinJung"  , Not what I want
# I want it to convert to  "Kwak Minjung"

2 个答案:

答案 0 :(得分:4)

试试这个:

> gsub("-(\\w)", "\\L\\1", test, perl = TRUE)
[1] "Kwak Minjung"

或者这个:

> library(gsubfn)
> gsubfn("-(\\w)", tolower, test)
[1] "Kwak Minjung"

答案 1 :(得分:2)

使用\\L\\U更改替换参数中的大小写。您可以使用\\E来结束案例转换的效果。

gsub(x=test,pattern="-(\\w)",replacement="\\L\\1", perl=TRUE)
# [1] "Kwak Minjung"