【问题标题】:How do I pull out certain words from a string?如何从字符串中提取某些单词?
【发布时间】:2016-12-06 20:54:35
【问题描述】:

我有两个字符串数组,我用一个“-”分隔符将它们连接在一起,它将它变成一个完整的字符串,就像"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 个或更多正确时调用一些东西。任何帮助都感激不尽!谢谢你。

【问题讨论】:

  • 您是在问第一个和第二个数组是否有 any 三个共同元素?顺序重要吗?还是只计算连续 个公共元素? “连接数组”(即字符串)如何相关? – 一个重要的例子可能会有所帮助。
  • @MartinR 这些数组只是示例。我不希望任何特定的字符串匹配,我只想匹配 3 个中的任何一个。因此,如果它们都包含“狗、猫、老鼠”,则某些东西会运行等
  • @connor 给出的答案似乎有效。这不适合你吗?

标签: arrays swift string swift3


【解决方案1】:

我会直接使用数组,而不是字符串。然后用它们创建集合,这样你就可以找到它们的交集:

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

【讨论】:

    猜你喜欢
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2017-02-14
    • 2012-10-27
    • 2023-04-03
    相关资源
    最近更新 更多