Arrays 如何从字符串中提取某些单词?

Arrays 如何从字符串中提取某些单词?,arrays,swift,string,swift3,Arrays,Swift,String,Swift3,我有两个字符串数组,我用一个“-”分隔符连接在一起,这个分隔符将它转换成一个完整的字符串,就像这样“art movies sports”。代码如下: let myFirstArray: [String] = ["art", "movies", "sports"] let firstJoinedArray = myFirstArray.joined(separator: "-") let mySecondArray: [String] = ["art", "movies", "sports"]

我有两个字符串数组,我用一个“-”分隔符连接在一起,这个分隔符将它转换成一个完整的字符串,就像这样
“art movies sports”
。代码如下:

let myFirstArray: [String] = ["art", "movies", "sports"]
let firstJoinedArray = myFirstArray.joined(separator: "-")

let mySecondArray: [String] = ["art", "movies", "sports"]
let secondJoinedArray = mySecondArray.joined(separator: "-")

我想要的是,当firstJoinedArray中的
“art movies sports”
中的3个或更多单词与secondJoinedArray中的3个或更多单词相等时,调用某个东西。在这种情况下,它当然是正确的。简而言之,我希望有更长的字符串(两个都包含不同的单词,但有3个或4个相同的字符串),并且我希望在3个或更多的字符串正确时调用某个字符串。任何帮助都将不胜感激!多谢各位

我会直接使用数组,而不是字符串。然后创建这些线的线集,以便可以找到它们的交点:

let set1 = Set(myFirstArray)
let set2 = Set(mySecondArray)
let inCommon = set1.intersection(set2).count // If this is >= 3, do stuff

您是否在询问第一个数组和第二个数组是否有任何三个相同的元素?顺序重要吗?还是只计算连续的公共元素?“连接数组”(即字符串)的相关性如何一个非常重要的例子可能会有帮助。@MartinR这些数组只是例子。我不希望任何特定字符串匹配,我只希望3个字符串中的任何一个匹配。所以,如果它们都包含“狗、猫、老鼠”,那么@connor给出的答案似乎有效。这对你不管用吗?