You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言移除字符串中引号及内部内容的问题求助

解决推特文本中移除引号及内部内容的问题

你的问题核心是数据里同时存在中文弯引号(“”)和英文直引号(""),之前的正则表达式只匹配了英文引号,导致中文引号包裹的内容没被处理。以下是两种可行的解决方案:

方案1:统一引号格式后处理

先把所有中文弯引号替换为英文直引号,再用正则移除引号及内部内容,步骤清晰易理解:

# 1. 将中文弯引号替换为英文直引号
df$text <- gsub("“|”", "\"", df$text)
# 2. 移除所有英文引号及内部内容
df$text_clean <- gsub("\"[^\"]+\"", "", df$text)
# 3. 清理残留的单独引号(处理嵌套引号后的残留)
df$text_clean <- gsub("\"", "", df$text_clean)

方案2:直接匹配两种引号类型(推荐)

用正则同时匹配中文弯引号和英文直引号对,结合非贪婪匹配处理可能的嵌套情况:

library(stringr)
# 移除所有中文/英文引号及内部内容
df$text_clean <- str_remove_all(df$text, "“.*?”|\"[^\"]+\"")
# 清理残留的单独引号
df$text_clean <- str_remove_all(df$text_clean, "“|”|\"")

验证结果

处理后的数据框df$text_clean内容如下:

[1] "Example:  https://t.co/ -  MORE TEXT - example:  finished."
[2] "Text  More text. https://t.co/"

完全符合移除引号及内部内容的需求。

内容的提问来源于stack exchange,提问作者Christina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 17:27:50