将字符转换为R中的lowerCamelCase

时间:2014-03-16 09:56:30

标签: regex r character gsub

我有这样的字符向量:

x <- c("cult", "brother sister relationship", "word title")

我希望将其转换为lowerCamelCase样式,如下所示:

c("cult", "brotherSisterRelationship", "wordTitle")

我使用gsubgregexprstrplitregmatches以及许多其他功能,但无法掌握。

特别是角色中的两个空格似乎难以处理。

也许这里有人知道如何做到这一点。

2 个答案:

答案 0 :(得分:11)

> x <- c("cult", "brother sister relationship", "word title")
> gsub(" ([^ ])", "\\U\\1", x, perl=TRUE)
[1] "cult"                      "brotherSisterRelationship"
[3] "wordTitle"

引自pattern matching and replacement

  

仅对于perl = TRUE,它还可以包含&#34; \ U&#34;或&#34; \ L&#34;转换   其余的替换为大写或小写和&#34; \ E&#34;结束案件   转换。

答案 1 :(得分:7)

base替代方案:

library(R.utils)
toCamelCase(x, capitalize = FALSE)
# [1] "cult"                      "brotherSisterRelationship" "wordTitle"