Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Swift中搜索多页文档中的句子?_Swift_Algorithm_Search_Text - Fatal编程技术网

如何在Swift中搜索多页文档中的句子?

如何在Swift中搜索多页文档中的句子?,swift,algorithm,search,text,Swift,Algorithm,Search,Text,我有多页文档,我想找到特定句子的页码 我尝试使用contains方法查找,但如果最后一句话拆分为两页,则找不到页码 我的代码是: func getPageNumber(sentence: Sentence) -> Int { let pages = document.pages for (index, page) in pages.enumerated() { guard let sentenceText = sentence.all else { retu

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

我尝试使用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页

前庭腔隙为弓形Nec ullamcorper sit amet risus.Donec ac odio TEMPORT orci dapibus ultrices。在莱克图斯乌尔纳的非圣职者。这是一个充满活力的权杖。在两人对峙中,面部凹陷和面部凹陷是最常见的Justo donec enim

第2页

致命伤。Sed augue lacus viverra vitae。埃吉特·杜伊斯(Eget duis)在泰卢斯(tellus)的乌纳调味品(urna调味品)马蒂斯(mattis)。康瓦利斯·波苏尔·莫尔比·利奥·乌纳·莫莱斯蒂在欧盟元素学院。这是我的生日,也是我的生日

如果我想查找“Nec ullamcorper sit amet risus”。它将返回第1页。但是如果我想找到Justo donec enim diam vulputate ut.它不会返回第1页和第2页

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


谢谢。

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

谢谢添加分页符效果很好。