Regex 如何在R中使用非最新标记在连字符上标记

Regex 如何在R中使用非最新标记在连字符上标记,regex,tidytext,Regex,Tidytext,我试图标记一个包含字符串的数据帧。有些包含连字符,我想使用unnest_标记对连字符进行标记() 我已尝试将tidytext从0.1.9升级到0.2.0 我在正则表达式上尝试了许多变体来捕获连字符: df <- data.frame(words = c("Solutions for the public sector | IT for business", "Transform the IT experience - IT Transformation - ITSM") df %&g

我试图标记一个包含字符串的数据帧。有些包含连字符,我想使用unnest_标记对连字符进行标记()

我已尝试将tidytext从0.1.9升级到0.2.0 我在正则表达式上尝试了许多变体来捕获连字符:



df <- data.frame(words = c("Solutions for the public sector | IT for business", "Transform the IT experience - IT Transformation - ITSM")

df %>% 
unnest_tokens(query, words, 
                token = "regex",
                pattern = "(?:\\||\\:|[-]|,)")
相反,我得到了标记化的无连字符行:

query
solutions for the public sector
it for business
你可以用

library(stringr)
df %>%  
  unnest_tokens(query, words, token = stringr::str_split, pattern = "[-:,|]")

此命令将使用
stringr::str_split
根据
[-:,|]
模式进行拆分:
-
字符。注意,它们不需要在字符类/括号表达式中转义。当连字符是第一个或最后一个字符时,不需要对其进行转义,其他字符在字符类中并不特殊。

尝试
df%>%n最新的标记(查询,单词,标记=stringr::str_split,pattern=“[-:,|]”
library(stringr)
df %>%  
  unnest_tokens(query, words, token = stringr::str_split, pattern = "[-:,|]")