Индекс или диапазон второго вхождения байтов в файле - PullRequest
1 голос
/ 17 апреля 2019

Я пытаюсь найти второе вхождение шаблона байта в файле. Я могу успешно найти первое с:

let mtrkChunk = Data(bytes: [0x4D, 0x54, 0x72, 0x6B] as [UInt8], count: 4) а потом let mtrkChRng = data.range(of: mtrkChunk)

Но не могу понять, как сделать так, чтобы оно совпадало со вторым. Будем благодарны за любую помощь

Ответы [ 2 ]

1 голос
/ 17 апреля 2019

Посмотрите на опции

let mtrkChRng = data.range(of: mtrkChunk, options: .backwards)
0 голосов
/ 18 апреля 2019

Второе вхождение можно найти следующим образом:

if let rg1 = data.range(of: mtrkChunk),
    let rg2 = data[rg1.upperBound...].range(of: mtrkChunk) {
    print(rg2)   
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...