how to read a txt file having alphanumeric data and special characters. ? My text file is like this. I tried textread but could not get a result. any suggestion.
Ältere Kommentare anzeigen
1 6:s 6:s 0 0 0 0.11 0 *0.889
2 6:s 6:s 0 0.272 0 0.006 0 *0.722
3 6:s 6:s 0 0.036 0 0 0.001 *0.963
4 6:s 6:s 0 0 0 0 0 *1
5 6:s 6:s 0 0 0 0 0 *1
6 6:s 3:f + 0 0.238 *0.365 0.009 0.033 0.355
7 6:s 5:n + 0 0 0 0 *0.999 0.001
8 6:s 6:s 0 0 0 0 0 *1
3 Kommentare
jonas
am 14 Aug. 2018
What is your desired output?
Muhammad Shoaib
am 14 Aug. 2018
Walter Roberson
am 14 Aug. 2018
How do you want the * to be handled?
Akzeptierte Antwort
Weitere Antworten (1)
str=fileread('notes.txt');
str=regexprep(str,'[:+*a-zA-Z]',' ')
opt = {'Delimiter',' ','MultipleDelimsAsOne',true,'CollectOutput',true};
out = textscan(str,'%f%f%f%f%f%f%f%f%f',opt{:})
7 Kommentare
Note that str2num relies on eval, which makes this a risky method to use with input data, especially with data containing weird random characters.
However note that textscan also works on character vectors (not just files), so you could easily use textscan to efficiently parse the char vector into a numeric array.
jonas
am 14 Aug. 2018
Oh, didn't know that. Thanks. I like to overuse regexp for everything and figured this could work.
Muhammad Shoaib
am 14 Aug. 2018
Muhammad Shoaib
am 14 Aug. 2018
jonas
am 14 Aug. 2018
No problem! I'll refrain from deleting this answer as it shows how to use regexprep to clean up a textfile but make sure to accept the other one :)
Kategorien
Mehr zu Language Support finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!