Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 匹配和替换模式删除下一段_R - Fatal编程技术网

R 匹配和替换模式删除下一段

R 匹配和替换模式删除下一段,r,R,我的文本: text <- " justo pretium mollis fermentum, quam diam blandit lorem, et pulvinar neque lectus pharetra nunc. Quisque volutpat malesuada tempus. Praesent sagittis commodo ex, sed vulputate odio malesuada et. Praesent neque odio, po

我的文本:

    text <- "
    justo pretium mollis fermentum, quam diam blandit lorem, et pulvinar neque lectus pharetra nunc. Quisque volutpat malesuada tempus. Praesent sagittis commodo ex, sed vulputate odio malesuada et. Praesent neque odio, posuere at egestas quis, convallis ut urna. Nunc venenatis aliquet turpis, at mattis diam dictum sit amet.
                                                            news·20000304·LF·172821401

    Sed luctus rutrum tortor sit amet placerat. Proin tempor faucibus erat, at scelerisque mauris."
我的结果是:删除第二段

我想要的是:

justo pretium mollis fermentum, quam diam blandit lorem, et pulvinar neque lectus pharetra nunc. 
Quisque volutpat malesuada tempus. Praesent sagittis commodo ex, sed vulputate odio malesuada et. 
Praesent neque odio, posuere at egestas quis, convallis ut urna. Nunc venenatis aliquet turpis, at mattis diam dictum sit amet.
---
Sed luctus rutrum tortor sit amet placerat. Proin tempor faucibus erat, at scelerisque mauris.. 
试试这个:

pattern <- "(?<=[[:space:]])(news\\·.{1,})(?=[[:space:]])"
gsub(pattern, "---", text, perl = T)
pattern问题在于,“news·.+”扩展到包含“.+”后面的所有内容,因此删除了第二段。如果改为写“news·.+\n”,它将在换行符处停止
pattern <- "(?<=[[:space:]])(news\\·.{1,})(?=[[:space:]])"
gsub(pattern, "---", text, perl = T)