R语言-提取两个分隔符之间的字符串

R语言-提取两个分隔符之间的字符串,r,R,我想使用R提取“Part Description:”和“-Installs”之间的文本;同样,需要提取其他文本-由于文本是连续的,无法提取 示例文本: 支持队列:WW_SC GD OB V5;V5业务:;地方的 周末:对;当地假日:假;***注意:这是一个 合作伙伴设备。请遵循特殊合作伙伴流程,而不是 标准支撑链。支持ID:469 ***********************************事件和事件附件*******************************事件编号:34c-4

我想使用R提取“Part Description:”和“-Installs”之间的文本;同样,需要提取其他文本-由于文本是连续的,无法提取

示例文本:

支持队列:WW_SC GD OB V5;V5业务:;地方的 周末:对;当地假日:假;***注意:这是一个 合作伙伴设备。请遵循特殊合作伙伴流程,而不是 标准支撑链。支持ID:469 ***********************************事件和事件附件*******************************事件编号:34c-48a6操作系统版本:Windows Server, 2003年事件时间:2015-07-10T00:29.7110Z零件号: xxxxxx-001,零件说明:1000瓦交流热插拔电源- 作为主电源或冗余电源安装在计算机机箱中(800 100VAC时的瓦特至200VAC时的1000瓦特最大功率)-需要 50/60Hz时为100-240VAC,RoHS是,CSR A错误类型:HW无附件。 建议的操作:托架2中的电源出现故障,应关闭 替换为备件号xxxxxx-001


您可以执行以下操作:

sub(".*Part Description:(.*)Installs.*", "\\1", txt)
这将用
零件说明:
安装之间的零件替换整个字符串。这导致:
“1000瓦交流热插拔电源-”

或者使用
stringr
可以执行以下操作:

require(stringr)
str_sub(str_extract(txt, "Part Description:.*Installs"), 18, -9)

这给了你同样的结果。

类似于
如果(grepl(“Part Description:,fixed=TRUE))myStuff第二个函数工作得很好,第一个函数我没有得到确切的结果-除了结果之外,它还提供了剩余的文本。这是用大量数据尝试的,而不是我上面提到的示例。另外,“\\1”是什么意思?并且,如果在上述示例中提到的“安装”之前有许多星号(*),如何使用第一个函数删除它们