Identify interval completion by strings

8 ビュー (過去 30 日間)
TF Lew
TF Lew 2021 年 12 月 11 日
コメント済み: TF Lew 2021 年 12 月 18 日
I have an array of strings representing various intervals from human-entered data. E.g.,
startA
startB
on
endA
off
endB
...
I need to ensure each unique start is followed by its unique stop, not containing another unique start within that interval or vice versa for ends. If this does occur, I need to return the indices of the previous and following string, e.g. (startA -> missing end -> startA, return both startAs). I'm struggling to find an eluquent solution for this.

回答 (1 件)

Image Analyst
Image Analyst 2021 年 12 月 11 日
Try using strfind() or contains() or ismember() to identify indexes where specific words occur.
  3 件のコメント
Image Analyst
Image Analyst 2021 年 12 月 13 日
Attach the file with the words in it. I think you need to use readcell() on that file to import those words into a cell array.
TF Lew
TF Lew 2021 年 12 月 18 日
I realized the error of my ways -- simply using a find(contains()) allowed me to create individual arrays of the interval markers rather than attempting to do it all in nested loops, e.g.,
startFeedbacks = find(contains(episode.marker, 'startFeed'));
endFeedbacks = find(contains(episode.marker, 'endFeed'));
allowing liberty for typos (checked in a seperate function but additional precautionary).
From this I could simply run through each two pairing arrays and 1) check for height equality and 2) find the index range (or start/end index) wherein a missing marker should exist.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeData Type Identification についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by