作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个(人类)名字的向量,全部用大写字母表示:
names <- c("FRIEDRICH SCHILLER", "FRANK O'HARA", "HANS-CHRISTIAN ANDERSEN")
simpleDecap <- function(x) {
s <- strsplit(x, " ")[[1]]
paste0(substring(s, 1,1), tolower(substring(s, 2)), collapse=" ")
}
sapply(names, simpleDecap, USE.NAMES=FALSE)
# [1] "Friedrich Schiller" "Frank O'hara" "Hans-christian Andersen"
'
和
-
.使用
s <- strsplit(x, " |\\'|\\-")[[1]]
当然找到了正确的字母,但随后崩溃
'
和
-
迷路。因此,我试过
simpleDecap2 <- function(x) {
for (char in c(" ", "\\-", "\\'")){
s <- strsplit(x, char)[[1]]
x <-paste0(substring(s, 1,1), tolower(substring(s, 2)), collapse=char)
} return x
}
sapply(names, simpleDecap2, USE.NAMES=FALSE)
# [1] "Friedrich schiller" "Frank o'Hara" "Hans-christian andersen"
s <- strsplit(x, " |\\'|\\-")[[1]]
进行拆分,但
paste=
是问题所在。
最佳答案
这似乎有效,使用 Perl 兼容的正则表达式:
gsub("\\b(\\w)([\\w]+)", "\\1\\L\\2", names, perl = TRUE)
\L
将以下匹配组转换为小写。
关于r - 人名去大写(考虑 ' 和 -),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32760308/
我有一个 TextView 对象,其目的是输入一个人的名字。我看了here并看到 textPersonName 是一种输入类型。所以我选择了那个输入类型,认为它会做我想要的。 但是,这种输入类型不将首
我有一个 PHP 脚本,应该检查“有效”的人名,但最近破解了带有空格的名称,因此我们向验证器添加了空格。 除了这样做之外,有没有办法向 CakePHP 的验证器添加黑名单以阻止所有“无效”字符,而不是
我有很多字符串,如下所示, 伊斯兰堡:首席大法官 Iftikhar Muhammad Chaudhry 说国民账户 卡拉奇,7 月 24 日 -- 警方声称已分别逮捕数名嫌疑人 ALUM KULAM,
我是一名优秀的程序员,十分优秀!