如何在特定字符后剪切 R 中的所有 Lines/Characters

How to cut all Lines/Characters in R after specific Characters

我目前正在学习用 R 教授文本分析的课程。由于我对 R 还很陌生,所以我还不知道如何在一组特定字符后剪切所有行。

例如,我给出了以下内容:

documentName <- "Hello my name is Johann my had is the largest to be deleted X"

我想要的结果是:

documentName <- "Hello my name is Johann"

到目前为止,我已经尝试了以下方法,但没有任何效果。

gsub("(\Johann).*\","",documentName)

如有任何提示,我们将不胜感激。

这是一种方法,捕获出现在Johann之前的所有内容:

x <- "Hello my name is Johann my had is the largest to be deleted"
out <- sub("^(.*\bJohann)\b.*$", "\1", x)
out

[1] "Hello my name is Johann"

另一种方法,剥离所有出现在Johann之后的内容:

sub("(?<=\bJohann)\s+.*$", "", x, perl=TRUE)

您可以使用包 dplyr

中的 str_remove()
str_remove(documentName, "(?<=Johann).*")
[1] "Hello my name is Johann"

或将您的 gsub() 正则表达式调整为

gsub("(?<=Johann).*", "", documentName, perl=TRUE)
[1] "Hello my name is Johann"