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

R语言中提取字符串逗号间内容并与首段拼接的正则表达式求解

R语言正则提取并拼接字符串的解决方案

嘿,这个需求咱们用R的sub()函数配合正则就能轻松实现,一步到位拿到你想要的结果。

首先看原字符串定义:

word <- 'Fu Tien Mansion, Taikoo Shing, Hong Kong'

直接用下面的代码就能完成提取和拼接:

result <- sub("^(.*?),\\s*(.*?),\\s*.*$", "\\2 \\1", word)
# 输出结果
print(result)
# [1] "Taikoo Shing Fu Tien Mansion"

正则表达式拆解

咱们来拆解一下这个正则的逻辑,方便你理解:

  • ^:锚定字符串的起始位置
  • (.*?):第一个捕获组,非贪婪匹配从开头到第一个逗号前的所有内容(也就是Fu Tien Mansion)
  • ,\\s*:匹配第一个逗号,以及逗号后面可能存在的任意空白字符(比如空格)
  • (.*?):第二个捕获组,同样非贪婪匹配第一个逗号后到第二个逗号前的内容(也就是Taikoo Shing)
  • ,\\s*.*$:匹配第二个逗号、后续空白字符,以及字符串剩下的所有内容直到结尾
  • 替换部分\\2 \\1:把第二个捕获组的内容放在前面,用空格分隔,再接第一个捕获组的内容,正好实现你要的顺序调换拼接

如果你担心字符串里的空白不固定,这个正则也能适配,因为\\s*会匹配0个或多个空白字符,鲁棒性不错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 06:28:38