查找字符串前的单词数

时间:2018-04-01 08:43:15

标签: r text nlp

在给定的文本中,如何找到字符串前面的单词数?

例如:"how to format this article? put return between paragraphs'

我希望确定'put return between paragraphs'从第6个单词开始,或者换句话说,在它之前有5个单词。

或者,是否有一种方法可以在标记化过程中考虑自定义标记,以便我可以将'put return between paragraphs'视为一个标记,将其余单个单词视为标记?

更新:这与换行没有任何关系。

2 个答案:

答案 0 :(得分:0)

如果您只想在五个单词后添加换行符,可以按如下方式使用sub

x <- "how to format this article? put return between paragraphs"
sub("^((?:\\S+\\s+){5})", "\\1\n", x)

答案 1 :(得分:0)

假设s是您上面的字符串,您可以选择

library(stringi)
parts <- unlist(stri_split(s, regex = "[\\?\\.\\!]"))
stri_count(parts[1], regex = " ")+1 # 5

(并且可能概括逻辑)