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

如何在R语言中解析含转义序列的字符串以获取目标字符?

在R中解析转义序列得到原始字符串

你现在有这样的字符向量:

test <- r"(\")"

print(test)
# [1] "\\\""

cat(test)
# \"

这个字符串实际包含两个字符:\",它是双引号的转义序列,你需要得到仅包含单个双引号"的解析后字符串。

方法1:使用base R的parse + eval

可以通过将目标字符串包裹在引号中,解析成表达式后执行,自动处理转义序列:

test <- r"(\")"
# 将test包裹在双引号中,构建可解析的字符串表达式
parsed_result <- eval(parse(text = paste0('"', test, '"')))

# 验证结果
print(parsed_result)
# [1] "\""
cat(parsed_result)
# "

原理是parse(text = ...)会把字符串当作R代码解析,R代码里的"\""会被解析成单个双引号,再通过eval执行这个表达式,就能得到目标结果。

方法2:使用jsonlite包(适合批量处理复杂转义)

如果需要处理更多类型的转义序列,或者批量处理API返回内容,jsonlite的JSON解析功能可以自动处理这类转义:

library(jsonlite)
test <- r"(\")"
# 把字符串放在JSON数组中,解析后取第一个元素
parsed_result <- fromJSON(paste0('["', test, '"]'))[1]

cat(parsed_result)
# "

这两种方法都比手动替换转义序列更优雅,能自动处理各种标准转义场景,适合处理API返回的格式错误响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 08:27:38