テキストファイルから​最初の数行および最後​の数行を読み取りたい

조회 수: 19 (최근 30일)
憲志郎 堀内
憲志郎 堀内 2022년 11월 27일
댓글: 憲志郎 堀内 2022년 11월 28일
---------------------text.txt---------------------
header1
header2
DATASTART
DATA DATA DATA DATA DATA DATA
DATA DATA DATADATA DATA DATA
DATA DATA DATADATA DATA DATA
DATA DATA DATADATA DATA DATA
DATAEND
footer1
footer2
footer3
---------------------------------------------------
上記のようにヘッダー・データ・フッタの3要素で構成されたテキストファイルがあります。
ヘッダとフッタの個数は未知であるとします。
このテキストファイルからヘッダーとフッタの文字列を取得する良い方法はありますか?

채택된 답변

Kojiro Saito
Kojiro Saito 2022년 11월 28일
fopenfscanfを使うやり方でもできそうですが、R2020bで登場したreadlinesを使ったほうが楽かなと思います。
サンプルコードを記載します。
% テキストファイルをstring配列として読み込み
lines = readlines('text.txt');
% DATASTARTを含む行を抽出
datastartLine = find(contains(lines, "DATASTART"));
% DATASTARTの1行前までをヘッダーとする
headerLine = lines(1:datastartLine-1)
headerLine = 2×1 string array
"header1" "header2"
% DATAENDを含む行を抽出
dataendLine = find(contains(lines, "DATAEND"));
% DATAENDの1行後からをフッターとする
footerLine = lines(dataendLine+1:end)
footerLine = 3×1 string array
"footer1" "footer2" "footer3"
  댓글 수: 1
憲志郎 堀内
憲志郎 堀内 2022년 11월 28일
これは素晴らしい機能ですね。
簡潔にコードが書けそうで大変感激しています。
ご回答ありがとうございました。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

제품


릴리스

R2022a

Community Treasure Hunt

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

Start Hunting!