こんにちは、よろしくお願いします。これは私の最初の投稿です。これを別の方法で行う必要がある場合はお知らせください。
次のような行を含む大きなテキストファイルがあります。
"DATE TIMESTAMP T W M T AL M C A_B_C"
最初に、fopen および fget1 コマンドを使用してこれを読み取り、文字列を取得します。
Readout = DATE TIMESTAMP T W M T AL M C A_B_C
これを textscan などで変換したい。私はmatlabを知っていると感じていますが、私はこのコマンドの専門家ではなく、使用に問題があります。
私は手に入れたい:
A = 'Date' 'TIMESTAMP' 'T W M' 'T AL M C' 'A_B_C'
ただし、次のコードを使用します。
A = textscan(Readout,'%s');
A = A{1}';
私は得る:
A = 'DATE' 'TIMESTAMP' 'T' 'W' 'M' 'T' 'AL' 'M' 'C' 'A_B_C'
タイトルで尋ねたように、単一のスペースを無視する方法はありますか?
PS:これを書いている最後に、あまりエレガントではない解決策を思いつきましたが、もっと良い解決策があるかどうかを知りたいです:
ReadBetter = [];
for n = 1:length(Read)-1
if Read(n) == ' ' & Read(n+1) ~= ' '
else
ReadBetter = [ReadBetter Read(n)];
end
end
ReadBetter = [ReadBetter Read(n+1)];
Read
ReadBetter
Output:
Read =
DATE TIMESTAMP T W M T AL M C A_B_C
ReadBetter =
DATE TIMESTAMP TWM TALMC A_B_C
これで、textscan で ReadBetter を使用できるようになりました。
この素晴らしいウェブページと、ここや他の多くの投稿で見つけたヘルプに感謝します