gpt4 book ai didi

javascript - 将字符串中的非拉丁字符更改为拉丁字符

转载 作者:行者123 更新时间:2023-12-03 02:21:33 26 4
gpt4 key购买 nike

我正在尝试通过 Ruby 或 Javascript 中的正则表达式来匹配包含非英语字符的字符串。

那么有没有办法用字符串“taglichen”替换字符串“täglichen”?我知道我可以通过以下选项替换非英语字符:

/(?i)t[aä]glichen/

但为此我需要可能的字符的字典并将它们全部设置在搜索的单词中。也许有更有效的方法来做到这一点?

最佳答案

现代 ruby 有一个合法的解决方案,使用 String#unicode_normalize

"täglichen".unicode_normalize(:nfd).
codepoints.
reject(&128.method(:<)).
pack('U*')
#⇒ "taglichen"

要匹配:

"täglichen".unicode_normalize(:nfc) =~ /t[aä]glichen/i
#⇒ 0

需要标准化,因为元音变音可能是单个代码点 228 或组合变音符号 [97, 776]。检查此项(尝试复制粘贴到您的 REPL 中):

"ä" == "ä"
#⇒ false

关于javascript - 将字符串中的非拉丁字符更改为拉丁字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49135167/

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