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

如何自动化交换固定格式字符串的首尾子串?

解决方案:交换XX-XX-XX格式字符串的首尾子串

以下是几种适配所有同格式字符串的实现方法:

方法1:基础R拆分重组

通过拆分字符串为子串,交换首尾后重新拼接:

x <- "22-03-23"
# 按分隔符"-"拆分字符串为向量
parts <- strsplit(x, "-")[[1]]
# 按「第三子串-第二子串-第一子串」的顺序拼接
result <- paste(parts[3], parts[2], parts[1], sep = "-")
result
# 输出:"23-03-22"

该方法逻辑直观,无需依赖额外包,适用于任何用-分隔的三部分等长字符串。

方法2:正则表达式替换(更简洁)

利用正则捕获组直接替换,一步完成交换:

x <- "22-03-23"
# 匹配三位两位数字组成的XX-XX-XX格式,交换首尾捕获组
result <- sub("^(\\d{2})-(\\d{2})-(\\d{2})$", "\\3-\\2-\\1", x)
result
# 输出:"23-03-22"
  • ^(\\d{2})-(\\d{2})-(\\d{2})$:精准匹配首尾的两位数字组,中间用-分隔
  • \\3-\\2-\\1:调用捕获组,按第三、第二、第一组的顺序重新组合

方法3:日期格式转换(针对实际日期场景)

如果字符串是日期(如示例的年-月-日格式),可借助日期处理包完成格式转换:

library(lubridate)
x <- "22-03-23"
# 解析为年-月-日格式的日期对象
date_obj <- ymd(x)
# 格式化为日-月-年格式
result <- format(date_obj, "%d-%m-%y")
result
# 输出:"23-03-22"

该方法需确保输入为有效日期,适合有明确日期含义的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 04:27:50