【问题标题】:Find number of words before a string查找字符串之前的单词数
【发布时间】:2018-04-01 08:43:15
【问题描述】:

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

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

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

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

更新:这与换行无关。

【问题讨论】:

  • 第六个字在这里真的有意义吗?问号不是触发换行符的实际标记吗?

标签: r text nlp


【解决方案1】:

假设s 是你上面的字符串,你可以去

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

(并可能概括逻辑)

【讨论】:

    【解决方案2】:

    如果你只是想在五个单词后添加一个换行符,你可以使用sub,如下:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-03
      • 2019-11-20
      • 1970-01-01
      相关资源
      最近更新 更多