gpt4 book ai didi

elixir - Elixir中子字符串的模式匹配

转载 作者:行者123 更新时间:2023-12-01 08:23:02 25 4
gpt4 key购买 nike

如何在通过分号的任何一侧返回true的字符串上进行模式匹配?换句话说,是否有一种简单的方式来进行模式匹配,使其包含子字符串?

@matched_string "x-wat"

def match(@matched_string), do: true

match("x-wat") # true
match("x-wat; s-wat") # true
match("s-wat; x-wat") # true
match("s-wat") # false
match("x-wat-y") #false

最佳答案

不可以,这不能通过模式匹配来完成。您可以匹配字符串的前缀,或者如果您知道字符串开头的每个部分的长度,则可以指定字符串的大小并进行匹配,例如<<_::size(4), @matched_string, _::binary>>,但通常不能匹配任何任意子字符串。在这种情况下,您可以拆分;,修剪字符串,然后检查其中是否包含"x-wat":

def match(string) do
string |> String.split(";") |> Enum.map(&String.trim/1) |> Enum.member?(string)
end

关于elixir - Elixir中子字符串的模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48231055/

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