正则表达式 – 如何在Google表格中规范化/归化Unicode字符?
我正在尝试为Google表格编写一个公式,它会将带有变音符号的Unicode字符转换为纯ASCII等效字符.
我在其“REGEXREPLACE”功能中看到了Google uses RE2.我看到了RE2 offers Unicode character classes. 我试着写一个公式(类似于this one): REGEXREPLACE("público","(pL)pM*","$1") 但是Sheets会产生以下错误:
我想我可以编写一个由一组很长的嵌套SUBSTITUTE函数组成的公式(Like this one),但这看起来非常糟糕. 是否可以提供更好的方法来建议使用Google表格公式中的带有变音/重音标记的Unicode字母标准化? 解决方法
[[:^ alpha:]](否定的ASCII字符类)适用于REGEXEXTRACT公式.
但是= REGEXREPLACE(“público”,“([[:alpha:]])[[:^ alpha:]]”,“$1”)给出“pblic”作为结果.所以,我猜,公式不知道确切的ASCII字符必须替换“ú”. 解决方法 我们来一个públicē这个词;我们需要替换它中的两个符号.将此单词放在单元格A1中,并将此公式放在单元格B1中: =JOIN("",ArrayFormula(IFERROR(VLOOKUP(SPLIT(REGEXREPLACE(A1,"(.)","$1-"),"-"),D:E,2,0),SPLIT(REGEXREPLACE(A1,"-")))) 然后在范围D:E中创建替换目录: D E 1 ú u 2 ē e 3 ... ... 这个公式仍然很难看,但更有用,因为您可以通过向表中添加更多字符来控制目录. 或者使用Java Script 也是found a good solution,在谷歌工作表. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |