gpt4 book ai didi

ruby - 在可变数量的单词上拆分字符串

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

@ruhroe 大约一个小时前发布了以下问题。当它被删除时,我正要发布一个答案。这很不幸,因为我认为这很有趣。我将其备份以防 OP 看到这一点,同时也让其他人有机会发布解决方案。

原始问题(我已编辑):

问题是根据部分取决于用户给定数字的标准,在字符串中的某些空格处拆分字符串。如果那个数字是,比方说,5,每个子字符串将包含:

  • 一个单词有 5 个或更多字符或
  • 尽可能多的连续单词(以空格分隔),前提是生成的字符串最多包含 5 个字符。

例如,如果字符串是:

"abcdefg fg hijkl mno pqrs tuv wx yz"

结果是:

["abcdefg", "fg", "hijkl", "mno", "pqrs", "tuv", "wx yz"]
  • "abcdefg" 单独一行,因为它至少有五个字符。
  • "fg" 单独一行,因为 "fg" 包含 5 个或几个字符,当与后面的单词组合时,它们之间有一个空格,结果字符串,"fg hijkl",包含超过 5 个字符。
  • "hijkl" 单独一行,因为它同时满足这两个条件。

我该怎么做?

最佳答案

我相信这样做:

str = "abcdefg fg hijkl e mn pqrs tuv wx yz"

str.scan(/\b(?:\w{5,}|\w[\w\s]{0,3}\w|\w)\b/)
#=> ["abcdefg", "fg", "hijkl", "e mn", "pqrs", "tuv", "wx yz"]

关于ruby - 在可变数量的单词上拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28620443/

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