在 Rstudio 中使用 'str_extract_all' 函数 (stringr) 后不显示 Unicode 字符

Unicode characters not showing after using 'str_extract_all' function (stringr) in Rstudio

我正在尝试使用 'str_extract_all' stringr 函数从一系列 .txt 文档中提取一系列单词。一切正常,除了我得到的结果不显示 Unicode 字符(在提取信息的 UTF-8 文本中很好)。有人知道为什么会这样吗?


[我在 Windows 10.1 上使用 RStudio]

我已经通过以下命令将我的 5 个 .txt 文档(小说)语料库转换为数据框:

tbl <- list.files(pattern = "*.txt") %>% 
    map_chr(~ read_file(.)) %>% 
    data_frame(text = .)

Unicode 字符在 'tbl' 上看起来很好,但是当我 运行 str_extract_all 函数时,它们消失了。这是我的代码:

uppercase <- sapply(str_extract_all(tbl, '(?<!^|\.\s|\?\s|\!\s)[A-Z][a-z]+'), paste)

这是我得到的结果:

[1,] "For"       
[2,] "Ant"       
[3,] "Pati"      

等等

什么时候应该读作:

[1,] "For"       
[2,] "Antón"       
[3,] "Patiño"      

等等

这是一个 stringr 错误,还是有人以前遇到过类似的事情?任何帮助都感激不尽。谢谢!

不幸的是,字符 class [A-z](及其子集 [A-Z][a-z])不适用于特殊字符,例如 ñó[[:alpha:]](字母字符)另一方面似乎有效。

stringr::str_extract_all(c("Antón", "Patiño"), '[A-z]+')

returns:

[[1]]
[1] "Ant" "n"  

[[2]]
[1] "Pati" "o"   

stringr::str_extract_all(c("Antón", "Patiño"), '[[:alpha:]]+')

returns 期望的结果:

[[1]]
[1] "Antón"

[[2]]
[1] "Patiño"