gpt4 book ai didi

swift - 查找字符串中所有 4 个字母单词的算法 - 最后一项在哪里?

转载 作者:行者123 更新时间:2023-12-04 01:34:43 24 4
gpt4 key购买 nike

在这里发布一个问题 ~find all ~4 letter words in a string ~algorithm site:stackoverflow.com google 没有返回任何肯定的结果。

问题:编写一个函数,接受一串单词并返回 4 个字母的个数。输入参数“sentence”是一个字符串,单词之间用空格分隔,没有标点符号。

到目前为止我有这样的代码:

func fourLetters(sentence: String) -> Int {
var targetNames = 0
var letterCount = 0

for letter in sentence {

if letter != " " {
letterCount += 1
} else {
print ("space found") // tech line
print (letterCount) // tech line

if letterCount == 4 {
targetNames += 1
letterCount = 0
}
letterCount = 0
}
}

print(targetNames) // tech line
return targetNames
}

问题:该算法现在不考虑字符串的最后部分给出无效的 4 字母单词数。考虑我们有一个句子:“Good Night Lil Peep”会返回 1,尽管显然有两个 4 出纳员词。我错过了什么?似乎循环完全忽略了最后一个词。

repl.it 链接为方便起见并运行:https://repl.it/@DmitryAksyonov/4-lettered-names

感谢您的帮助!问候

最佳答案

func findWords(ofLenght lenght: Int, in string: String) -> [Substring] {
let words = string.split{ $0.isWhitespace }
return words.filter { $0.count == lenght }
}

let input = "abcd word some string"
let result = findWords(ofLenght: 4, in: input)
print(result.count)

Output: 3

关于swift - 查找字符串中所有 4 个字母单词的算法 - 最后一项在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59986114/

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