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

如何合并以特定字符首尾、被换行分隔的行?R语言字幕数据处理

合并视频转录中拆分的台词行

针对你遇到的转录数据台词被拆分的问题,可以用R语言的分组合并方法解决,具体步骤如下:

1. 提取原始数据向量

先把原数据中的字符向量单独提取出来,方便后续处理:

original_vec <- c(
  "00:00:03.990 --> 00:00:05.270",
  "<v Bill>I'm here to take some notes. I've",
  "heard this will be interesting.</v>",
  "00:00:05.770 --> 00:00:07.370",
  "<v Charlie>I believe you'll be correct",
  "about that, Bill.</v>",
  "00:00:10.810 --> 00:00:11.170",
  "<v Bill>Awesome.</v>"
)

2. 生成分组标识

通过正则表达式识别时间戳行(以00:开头)和台词起始行(以<v 开头),用cumsum生成分组ID,确保同一段台词的多行属于同一组:

group_id <- cumsum(grepl("^00:", original_vec) | grepl("^<v ", original_vec))

3. 按分组合并文本

将同一组的文本合并,单行内容直接保留,多行台词用空格连接:

merged_vec <- sapply(split(original_vec, group_id), function(x) {
  if (length(x) == 1) {
    x
  } else {
    paste(x, collapse = " ")
  }
})

4. 转换为目标数据框

最后将合并后的向量转为数据框,得到预期结果:

intendedData <- data.frame(transcript = unname(merged_vec))

运行以上代码后,intendedData$transcript的内容就和你预期的一致了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 00:30:07