gpt4 book ai didi

erlang - erlang中如何匹配子字符串忽略大小写

转载 作者:行者123 更新时间:2023-12-04 01:52:50 26 4
gpt4 key购买 nike

如何通过忽略大写/小写的字符串在 ETS 表中找到?

此代码通过以 wo 开头的字符串查找:

ets:test_ms({"WORD"}, [{{"wo"++'_'}, [], ['$_']}])

但是,像 WORD是大写,不返回任何内容。

谢谢!

最佳答案

匹配规范中不支持不区分大小写的匹配(或通常在 Erlang 中匹配)。你基本上有三个选择。

  • 生成所有案例
    [{{"wo"++'_'}, [], ['$_']}, {{"wO"++'_'}, [], ['$_']}, {{"Wo"++'_'}, [], ['$_']}, {{"WO"++'_'}, [], ['$_']}]
  • 使用保护表达式(对于较长的单词,因为组合数为 2^N)
    [{{['$1','$2'|'_']},
    [{'orelse',{'=:=','$1',$w},{'=:=','$1',$W}},
    {'orelse',{'=:=','$2',$o},{'=:=','$2',$O}}],
    ['$_']}]
  • 转换数据 ets表使用 string:casefold/1并按此键搜索。
  • 关于erlang - erlang中如何匹配子字符串忽略大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52107436/

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