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

如何使用gsub从含特殊字符的字符串中提取大写国家代码

提取字符串中的国家代码问题

需要从包含特殊字符的字符串里提取国家代码,示例字符串如下:

mystring
[1] "        data-country=\"GER\">"

尝试用以下代码提取,但未成功,反而拆分了目标内容GER:

gsub('(.+)[A-Z](.+)', '\\1', mystring)

解决方案

可以用更精准的正则表达式来匹配目标内容:

  • 方法一:匹配data-country="之后、"之前的所有大写字母
gsub('.+data-country="([A-Z]+)".+', '\\1', mystring)

该正则会捕获括号内的大写字母序列,替换时仅保留捕获组的内容。

  • 方法二:如果只需提取连续3个大写字母(符合常见国家代码格式),可使用:
regmatches(mystring, regexpr('[A-Z]{3}', mystring))

regexpr定位到第一个匹配的连续3个大写字母,regmatches提取出该匹配内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 13:52:02