在R中如何为字符串两端添加引号并将输出结果用逗号分隔?
问题描述
我有数百条机构名称需要重新格式化,当前全部存储在向量中,每条观测值仅包含院校名称。我尝试使用paste()命令处理时,受引号影响无法为内容添加对应标点,想要实现以下需求:输出时每个院校名称两端都带有文本引号(形如"State University"),各观测值之间用逗号分隔,使用write()函数输出的纯文本效果如下:
"State University", "Private University", "State Rival"
可复现示例:
state <- c("State University", "Private University", "Rival State")
解决方案
你可以通过两种常用方法实现需求,输出完全符合格式要求的文本:
方法1:使用dQuote()函数(推荐)
dQuote是R内置的字符包裹函数,设置参数可直接输出标准双引号效果:
# 1. 给每个院校名称包裹标准双引号,qmethod参数避免输出弯引号 quoted_names <- dQuote(state, qmethod = "escape") # 2. 用逗号+空格拼接所有元素 output_content <- paste(quoted_names, collapse = ", ") # 3. 输出到本地纯文本文件 write(output_content, file = "formatted_college_names.txt")
方法2:手动拼接引号
如果不想调用内置函数,也可以直接用paste0手动给每个元素前后加双引号:
quoted_names <- paste0('"', state, '"') output_content <- paste(quoted_names, collapse = ", ") write(output_content, file = "formatted_college_names.txt")
两种方法输出的纯文本内容完全一致,均符合要求。
内容的提问来源于stack exchange,提问作者Auresm
相关产品推荐
相关产品推荐

