R 提取第三个至最后一个期间和最后一个期间之间的所有文本

R 提取第三个至最后一个期间和最后一个期间之间的所有文本,r,regex,R,Regex,我的文本看起来像: txt <- Name, Name. Title. Pub. Year; Details. 如何提取R中第三个到最后一个周期和第二个到最后一个周期(仅Pub)之间的所有内容?您可以使用子项(因为您需要执行单个搜索和替换操作),方法如下: txt <-"Name, Name. Title. Pub. Year; Details." sub(".*\\.([^.]*)(?:\\.[^.]*){2}$", "\\1", txt) # => [1] " Pub"

我的文本看起来像:

txt <- Name, Name. Title. Pub. Year; Details.

如何提取R中第三个到最后一个周期和第二个到最后一个周期(仅Pub)之间的所有内容?

您可以使用
子项(因为您需要执行单个搜索和替换操作),方法如下:

txt <-"Name, Name. Title. Pub. Year; Details."
sub(".*\\.([^.]*)(?:\\.[^.]*){2}$", "\\1", txt)
# => [1] " Pub"
txt[1]“发布”

详细信息

  • *
    -任何0+字符,尽可能多
  • \.
    -a
  • ([^.]*)
    -第1组:除
    以外的任何0+字符
  • (?:\\.[^.]*){2}
    -2个连续的
    • \.
      -a
    • [^.]*
      -除
      以外的任何0+字符
  • $
    -字符串结束
txt <-"Name, Name. Title. Pub. Year; Details."
sub(".*\\.([^.]*)(?:\\.[^.]*){2}$", "\\1", txt)
# => [1] " Pub"