How to remove text strings from .dat file

Hi everyone.
There is a .dat file, where the first raw of it:
#component = 1 embedding = 1
Then 20x3 matrix of numbers and again:
#component = 1 embedding = 2
So how to remove these lines from matlab when I load the file or is it better to remove from array like:
if x(1,1) == '#component';
x(1,1)=[];

4 件のコメント

per isakson
per isakson 2012 年 7 月 31 日
編集済み: per isakson 2012 年 7 月 31 日
Something like
textscan ( ..., 'Headerlines', 1 )
Artyom
Artyom 2012 年 7 月 31 日
This will remove only the first headline. But I need to remove all lines with
#component = 1 embedding.....
It is nearly 10 these lines in the array.
Jan
Jan 2012 年 7 月 31 日
編集済み: Jan 2012 年 7 月 31 日
x(1,1) == '#component' will most likely not do what you expect. Use STRNCMP for string comparisons.
What do you want to achieve? Do you want to modify the file or import the data ignoring all lines starting with '#'?
Artyom
Artyom 2012 年 7 月 31 日
Oh, I solved it:
for i=1:m
if strcmp(temp.textdata{i,1},'#component');
else
x(s,:)=sscanf(sprintf('%s %s %s', temp.textdata{i,:}), '%f');
s=s+1;
end
end

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

回答 (1 件)

Jan
Jan 2012 年 7 月 31 日

0 投票

textscan(..., 'CommentStyle', '#')

カテゴリ

ヘルプ センター および File ExchangeApp Building についてさらに検索

質問済み:

2012 年 7 月 31 日

Community Treasure Hunt

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

Start Hunting!

Translated by