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

R语言如何删除文本中开头空格≥3的行并实现列表转字符

需求实现方案

解决列表转字符的问题

stringr::str_split()返回列表是默认支持向量化输入的设计,如果你是对单个字符串做拆分,直接提取列表的第一个元素就能得到字符类型的向量:

# 拆分字符串得到字符向量
text <- str_split(data, "\n")[[1]]

接下来你就可以按规则筛选行:

# 仅保留开头空格数≤2的行
filtered_text <- text[!grepl("^\\s{3,}", text)]
# 如果需要将筛选后的行重新拼接为单个字符串,使用paste
result <- paste(filtered_text, collapse = "\n")

打印result就能得到你预期的输出,如果需要去掉首尾多余的空行和空格,可以再加一步trimws(result),就能得到精确匹配你预期的"as follows:"结果。

更简洁的一步实现方案

你也可以不用拆分字符串,直接通过正则替换删除所有开头空格≥3的行,代码更短:

result <- gsub("\\n\\s{3,}[^\n]*", "", data) |> trimws()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:06:03