r - 如何删除或子集文本中的某些上下文?
问题描述
这是我的数据
data<- "line1\nline2\n\n\n\n\n VICTIMS OF GUN VIOLENCE TO HOLD GUN TRAFFICKERS LIABLE\n\n line3"
我想要五个连续的 "\n" 和两个连续的 "\n" 之间的文本:
“枪支暴力受害者追究枪支贩运者的责任”
我试过了
text-<str_split(data,"\n")
str_subset(text,".*\n{5}\\s*(.*)\\s*\n{2}.*")
我得到:警告消息:在 stri_subset_regex(string, pattern, omit_na = TRUE, negate = negate, : 参数不是原子向量;强制
解决方案
sub
用于捕获 5'\n'
和 2之间的文本的基本 R 选项'\n'
。
sub('.*\n{5}\\s*(.*)\\s*\n{2}.*', '\\1', data)
#[1] "VICTIMS OF GUN VIOLENCE TO HOLD GUN TRAFFICKERS LIABLE"
推荐阅读
- wpf - WPF 图像周围奇怪的黑色背景
- reactjs - Reactjs:如何在单击按钮时一次显示一个切换的内容
- javascript - 期望一个字符串(用于内置组件)或一个类/函数(用于复合组件)但得到:对象
- javascript - 当“循环”为真时,无法通过其标签切换复选框
- django - TypeError:__init__() 为 reportlab django 获得了一个意外的关键字参数“as_attachment”
- javascript - readable.destroy() 不会同时发出“关闭”和“错误”事件 Node.js
- sql-server - MSSQL将名称解析为两个新列并添加到同一个表中
- json - 如何解析 .jsx 文件中的外部 JSON 文件
- keras - 计算 Keras 中的神经元(具有不同的层),我的方法正确吗?
- r - 在 dplyr 的 mutate 函数中设置最大值的条件