【问题标题】:How to search sentence in multi page document in Swift?如何在 Swift 中搜索多页文档中的句子?
【发布时间】:2021-03-12 13:36:35
【问题描述】:

我有多页文档,我想查找特定句子的页码。

我尝试使用 contains 方法查找,但如果最后一句话分成两页,则找不到页码。

我的代码是:

func getPageNumber(sentence: Sentence) -> Int {
    let pages = document.pages
    for (index, page) in pages.enumerated() {
        guard let sentenceText = sentence.all else { return 0 }
        if page.text.contains(sentenceText) {
            return index
        }
    }
    return 0
}

示例用法

第 1 页

Ullamcorper a lacus vestibulum sed arcu non。 Nec ullamcorper sit amet risus。 Donec ac odio tempor orci dapibus ultrices。 Non consectetur a erat nam at lectus urna。 Cursus vitae congue mauris rhoncus aenean vel elit scelerisque。 Maecenas accumsan lacus vel facilisis volutpat est velit egestas dui。 Justo donec enim

第 2 页

diam vulputate ut. Sed augue lacus viverra vitae。 Eget duis attellus at urna condimentum mattis。 Convallis posuere morbi leo urna molestie at elementum eu。 Sed tempus urna et pharetra pharetra massa massa。

如果我想找到 "Nec ullamcorper sit amet risus." 它会返回第 1 页。但如果我想找到 Justo donec enim diam vulputate ut. 它是不返回 page1 和 page2。

我怎样才能有效地做到这一点?

谢谢。

【问题讨论】:

    标签: swift algorithm search text


    【解决方案1】:

    如果不是多页,那么您可以轻松搜索所有匹配项,并返回一组匹配范围。要使其成为多页,您只需添加分页索引(范围为 0..p1..p2..end)。现在,给定一个匹配范围,您可以看到哪个交叉哪个分页符,以及哪些包含在单个页面中。

    【讨论】:

      猜你喜欢
      • 2020-12-05
      • 1970-01-01
      • 2018-10-23
      • 1970-01-01
      • 2017-01-13
      • 2017-07-11
      • 2015-06-01
      • 2019-05-17
      • 1970-01-01
      相关资源
      最近更新 更多