如何解决函数将字符串转换为 R 中的首字母缩略词
我有一个字符串“California Art Craft Painting Society”,我想在 R 中编写一个函数 x,可以将任何字符串转换为首字母缩写词“CAcps”。我使用了以下代码:
acronym <- function(x){
abbreviate(x)
}
有没有办法用stringr写函数比如先strsplit字符串,然后用strsub拉每个单词的第一个字母(不要用缩写)?
解决方法
如果你想使用字符串拆分方法,试试这个
String regex = "^VAR[0-9]+=\"(?:(?![^\"]*%GH)[^\"]+|[^\"]*%GH[^\".]*\\.(?![^\"]*%GH)[^\"]*)\"$";
或者使用 acronym <- function(x) {
sapply(strsplit(x,' '),function(y) paste0(substr(y,1,1),collapse = ''))
}
acronym(c("California Art Craft Painting Society",'A Big Word'))
#[1] "CACPS" "ABW"
:
stringr
,
这可能有用。它对前面没有分词符的字符使用 str_remove_all
,并删除所有空格。
library(stringr)
create_acronym <- function(x){
str_remove_all(x,"(?<!\\b)\\w|\\s" )
}
,
gsub
选项
> gsub("\\b([A-Z])(\\w+)?\\s?","\\1",v)
[1] "CACPS" "ABW"
数据
v <- c("California Art Craft Painting Society","A Big Word")
,
恕我直言,最简单(也是最简洁)的选项很简单:
abbreviate(x,minlength = 1)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。