gpt4 book ai didi

ruby - 将没有空格的字符串解析为单个单词的数组

转载 作者:数据小太阳 更新时间:2023-10-29 08:43:25 25 4
gpt4 key购买 nike

如果我有一个字符串“blueberrymuffinsareinsanelydelicious”,解析它的最有效方法是什么,这样我就只剩下 [“blueberry”、“muffins”、“are”、“insanely”、“delicious”]?

我已经有了我的单词列表(mac 的/usr/share/dict/words),但是我如何确保完整的单词存储在我的数组中,又名:blueberry,而不是两个单独的单词,blue 和 berry。

最佳答案

虽然在某些情况下可能有多种解释并且选择最佳解释可能很麻烦,但您始终可以使用像这样的相当朴素的算法来处理它:

WORDS = %w[
blueberry
blue
berry
fin
fins
muffin
muffins
are
insane
insanely
in
delicious
deli
us
].sort_by do |word|
[ -word.length, word ]
end

WORD_REGEXP = Regexp.union(*WORDS)

def best_fit(string)
string.scan(WORD_REGEXP)
end

这将解析您的示例:

best_fit("blueberrymuffinsareinsanelydelicious")
# => ["blueberry", "muffins", "are", "insanely", "delicious"]

请注意,这将跳过任何不匹配的组件。

关于ruby - 将没有空格的字符串解析为单个单词的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41705626/

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