gpt4 book ai didi

r - R 中的重音不敏感正则表达式

转载 作者:行者123 更新时间:2023-12-05 09:26:05 28 4
gpt4 key购买 nike

我正在尝试使用 filter(grepl()) 来匹配我专栏中的一些词。假设我想提取“Guartelá”这个词。在我的专栏中,我有变体,例如“guartela”、“guartelá”和“Guartela”。为了匹配大写/小写单词,我使用了 (?i)。但是,我还没有找到匹配重音/无重音(即“guartelá”和“guartela”)的好方法。

我知道我可以简单地将 á 替换为 a,但是有没有办法在代码中分配重音不敏感?它可以是 base R/tidyverse/any,我不介意。

这是我当前的代码行:

cobras <- final %>% filter(grepl("(?i)guartelá", NAME) 
| grepl("(?i)guartelá", locality))

干杯

最佳答案

您可以使用 stri_trans_general fron stringi 删除所有重音符号:

unaccent_chars= stringi::stri_trans_general(c("guartelá","with_é","with_â","with_ô")  ,"Latin-ASCII")
unaccent_chars
# [1] "guartela" "with_e" "with_a" "with_o"
# grepl(paste(unaccent_chars,collapse = "|"), string)

关于r - R 中的重音不敏感正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74521588/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com