将字符转换为R中的lowerCamelCase

sch*_*sie 2 regex r character gsub

我有字符向量,看起来像这样:

x <- c("cult", "brother sister relationship", "word title")
Run Code Online (Sandbox Code Playgroud)

我想将它转换为如下所示的lowerCamelCase样式:

c("cult", "brotherSisterRelationship", "wordTitle")
Run Code Online (Sandbox Code Playgroud)

我打得四处gsub,gregexpr,strplit,regmatches等众多功能,但无法获得抓地力.

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

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

dev*_*ull 11

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

引用模式匹配和替换:

仅对于perl = TRUE,它还可以包含"\ U"或"\ L"以将替换的其余部分转换为大写或小写,将"\ E"转换为结束大小写转换.


Hen*_*rik 7

不可base替代的:

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