【发布时间】:2021-12-24 06:40:58
【问题描述】:
我有一个数据框 (data),其中有一列包含报告中的文本 (data$Report_Text)。我需要为每行提取关键字(包括关键字)前后的 40 个字符,并将其作为新列存储在数据框中。
到目前为止,我已经为之前的字符提供了此功能(理想情况下,我希望将 + 之前的文本存储在一列中,但如果这不可能,我可以做两列):
data$characters <- sub('.*?(\\d{40}) keyword', "", data$Report_Text)
但是,当我运行它时,它会给出关键字之前的所有文本,而不仅仅是 40 个字符。我哪里错了?
【问题讨论】:
-
我会尝试类似
stringr::str_extract(".{40}keyword.{40}")。如果字符串中少于 40 个字符,您希望尽可能多的字符,请使用{,40}作为量词。 -
这成功了!谢谢!