微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

函数将字符串转换为 R 中的首字母缩略词

如何解决函数将字符串转换为 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 举报,一经查实,本站将立刻删除。