gpt4 book ai didi

f# - f# 中字符串开头的模式匹配

转载 作者:行者123 更新时间:2023-12-03 05:21:36 25 4
gpt4 key购买 nike

我正在尝试匹配 f# 中字符串的开头。不确定我是否必须将它们视为字符列表或什么。如有任何建议,我们将不胜感激。

这是我想要做的伪代码版本

let text = "The brown fox.."

match text with
| "The"::_ -> true
| "If"::_ -> true
| _ -> false

所以,我想查看字符串的开头并进行匹配。请注意,我没有匹配字符串列表,只是将上面的内容写为我想要做的事情的本质的想法。

最佳答案

参数化active patterns来救援!

let (|Prefix|_|) (p:string) (s:string) =
if s.StartsWith(p) then
Some(s.Substring(p.Length))
else
None

match "Hello world" with
| Prefix "The" rest -> printfn "Started with 'The', rest is %s" rest
| Prefix "Hello" rest -> printfn "Started with 'Hello', rest is %s" rest
| _ -> printfn "neither"

关于f# - f# 中字符串开头的模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3722591/

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