【发布时间】:2017-12-02 06:10:28
【问题描述】:
我有一个 R 函数,它试图将每个“单词”的第一个字母大写
proper = function(x){
gsub("(?<=\\b)([[:alpha:]])", "\\U\\1", x, perl = TRUE)
}
这很好用,但是当我有一个带有毛利长音符号的单词时,比如Māori,我得到了不正确的大写,例如
> proper("Māori")
[1] "MāOri"
很明显,RE 引擎认为宏 ā 是一个字边界。不知道为什么。
【问题讨论】:
-
this 是否发布帮助?来自
stringr的str_to_title也不大写毛利语中的o。 -
是否有 unicode 标志(如 regex101.com/r/unVXlI/1 中使用的标志)?顺便说一句,对于诸如单词边界之类的东西,可能没有必要使用lookbehind。