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

如何用R的stringr包实现从字符串中提取i18n$t函数参数?

基于stringr包的i18n翻译内容提取函数实现

功能说明

  • 入参:任意字符串向量
  • 功能:提取所有i18n$t("")结构中双引号包裹的内容
  • 返回值:所有匹配到的内容组成的字符向量,无匹配时返回空向量

实现代码

# 加载依赖包
library(stringr)

# 定义提取函数
extract <- function(str_vec) {
  # 正则匹配规则:捕获i18n$t("与")之间的非双引号内容
  pattern <- 'i18n\\$t\\("([^"]+)"\\)'
  # 提取所有匹配项的第一捕获组内容
  matched <- str_extract_all(str_vec, pattern, group = 1)
  # 展开为一维向量返回
  unlist(matched, use.names = FALSE)
}

测试验证

# 测试用示例向量
vec <- c(
  "div(span(icon(\"hospital-user\"), i18n$t(\"Enrolments\"), \"or\", i18n$t(\"Paper\"))),",
  "a string with no matching pattern",
  "Lala i18n$t(\"Rock\")"
)

# 调用函数
extract(vec)

运行输出结果与预期完全一致:

[1] "Enrolments" "Paper"      "Rock"

内容的提问来源于stack exchange,提问作者tic-toc-choc

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:06:03