我正在尝试简化一个函数输入。这个函数是输入一个学者的名字,并得到他们的google scholar搜索结果页。
目前的输入是 get_academics <- function("Stephen", "Hawking")
我想知道是否有办法使输入的 get_academics <- function("Stephen Hawking")
而函数仍然可以代替。这是因为这是一个人名,中间写上一个逗号很奇怪。
get_academics <- function(q, b){
text <- paste0("https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=", q, "+", b)
return(text)
}
当前函数输入
get_academics("Stephen", "Hawking")
希望的功能输入
get_academics("Stephen Hawking")
您可以使用 gsub
将空格替换为 +
字符。
get_academics <- function(name){
name <- gsub(" ", "+", name, fixed = TRUE)
paste0("https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=", name)
}
get_academics("Stephen Hawking")
#[1] "https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=Stephen+Hawking"
分割式选项(见注释)。
get_academics <- function(q){
split_name <- unlist(strsplit(q,"\\s"))
q <- split_name[1]; b <- split_name<-split_name[2]
text <- paste0("https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=", q, "+", b)
return(text)
}
结果。
get_academics("Stephen Hawking")
[1] "https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=Stephen+Hawking"
注释
-