3
我的文字,看起來像:提取第三之間的所有文字持續和去年同期
txt <- Name, Name. Title. Pub. Year; Details.
我想只提取酒吧。
gsub(".*\\.(.*)\\..*", "\\1", txt)
如何提取第三之間的一切到最後,二來R中最後一期(只PUB):
我可以使用一年提取和細節?
我的文字,看起來像:提取第三之間的所有文字持續和去年同期
txt <- Name, Name. Title. Pub. Year; Details.
我想只提取酒吧。
gsub(".*\\.(.*)\\..*", "\\1", txt)
如何提取第三之間的一切到最後,二來R中最後一期(只PUB):
我可以使用一年提取和細節?
您可以使用sub
(因爲你需要執行一個單一的搜索和替換操作)的方式如下:
txt <-"Name, Name. Title. Pub. Year; Details."
sub(".*\\.([^.]*)(?:\\.[^.]*){2}$", "\\1", txt)
# => [1] " Pub"
見R demo。
詳細
.*
- 任何0+字符,儘可能多的\\.
- 一個.
([^.]*)
- 第1組:任何0+比.
(?:\\.[^.]*){2}
其他字符 - 2個連續序列的
\\.
- 一個.
[^.]*
- 串的端部 - 的任何0+比.
$
其他字符。
請參閱本[在線正則表達式演示](https://regex101.com/r/wUSaPo/1)。 –