我有一个字符串:
words<-"Monday, Tuesday, Wednesday, Thursday,Friday"
我只需要给每个单词加引号:
"Monday", "Tuesday", "Wednesday", "Thursday","Friday"
获取长度为五的字符串。
我知道关于这个主题有很多文章,但我在R中没有找到任何相关信息。
非常感谢。
我有一个字符串:
words<-"Monday, Tuesday, Wednesday, Thursday,Friday"
我只需要给每个单词加引号:
"Monday", "Tuesday", "Wednesday", "Thursday","Friday"
获取长度为五的字符串。
我知道关于这个主题有很多文章,但我在R中没有找到任何相关信息。
非常感谢。
,
将单词拆分为list
输出。我们使用sapply
循环,对元素进行dQuote
处理,然后使用toString
与paste(..., collapse=', ')
结合在一起。sapply(strsplit(words, '[, ]+'), function(x) toString(dQuote(x)))
#[1] "“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”"
如果我们需要更改花式引号,需要在 dQuote
中添加 FALSE
。sapply(strsplit(words, '[, ]+'), function(x) toString(dQuote(x, FALSE)))
cat
包装它,这样就可以不带斜杠打印。 - akrundQuote
= "双引号";还有用于单引号的 sQuote
。dQuote(x, FALSE)
强制使用普通的 "
(或 '
),而不是可能存在的“花式”尖角引号。 - MichaelChiricoFALSE
参数(顺便说一下,谢谢!),否则我会得到“解析错误...意外输入”的错误提示。 - Pablo Bernabeusapply(strsplit(words, '[, ]+'), function(x) toString(dQuote(x)))# [1] "“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”"
。 - akrun使用 gsub
words<-"Monday, Tuesday, Wednesday, Thursday,Friday"
cat(gsub("(\\w+)", '"\\1"', words))
# "Monday", "Tuesday", "Wednesday", "Thursday","Friday"
KISS....
cat(gsub("\\b", '"', words, perl=T))
#"Monday", "Tuesday", "Wednesday", "Thursday","Friday"
\\b
被称为单词边界,它匹配一个单词字符 (A-Z,a-z,_,0-9) 和一个非单词字符 (不是 A-Za-z0-9_) 之间的位置,或者相反。
strsplit函数通过逗号分隔字符串,sub函数则删除空格。
paste(dQuote(sub(" ","",unlist(strsplit(words,split = ",")))),collapse = ", ")
[1] "“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”"
sapply(strsplit(words, ','), function(x) toString(dQuote(x)))
- akrun