我的文字看起来像:
txt <- Name, Name. Title. Pub. Year; Details.
我想只提取Pub。
我可以使用以下方式提取年份和详细信息:
gsub(".*\\.(.*)\\..*", "\\1", txt)
如何在R?
中提取第三个到最后一个和倒数第二个句点(只是Pub)之间的所有内容答案 0 :(得分:3)
您可以通过以下方式使用sub
(因为您需要执行单次搜索和替换操作):
txt <-"Name, Name. Title. Pub. Year; Details."
sub(".*\\.([^.]*)(?:\\.[^.]*){2}$", "\\1", txt)
# => [1] " Pub"
请参阅R demo。
<强>详情
.*
- 任意0个字符,尽可能多\\.
- .
([^.]*)
- 第1组:除.
(?:\\.[^.]*){2}
- 连续2个序列
\\.
- .
[^.]*
- 除.
$
- 字符串结束。