0
我正在使用f#查找给定字符串或文本中的短语以及每个短语的频率。查找字符串中的短语和每个短语的频率
该短语将2个或更多的单词。
我知道如何在其他语言中使用它,但我对F Sharp的匿名函数很感兴趣,目前我正在学习和发现它。
这是一个非常复杂和有用的想法,因为短语包含两个或更多单词。
我有什么至今:
let containsPhrase (phrase:string) (text:string) =
let rec contains index =
if index <= text.Length - phrase.Length then compare index
else false
and compare index =
if String.Compare(text, index, phrase, 0, phrase.Length) <> 0
then nextWord index
else true
and nextWord index =
let index = text.IndexOf(' ', index)
if index >= 0 then
contains (index+1)
else
false
contains 0
let Phrases = ["Good morning";"Take care";"black Friday"]
for phrase in Phrases do
printfn "[%A] was found %b" phrase (containsPhrase (phrase.ToLower()) text)
我能找到一个解决方案,对这个问题的第一部分,但我觉得很多尝试后输给计算每个词组是多少字符串中使用。
上面的代码可以检查任何给定的短语是否在字符串中。
任何人都可以请帮我添加一个计数器的每个短语的频率?
非常感谢。我无法投票,因为我需要更多的声誉。无论如何,你的代码是完美的,谢谢 –