Partitioning data out of .txt files

3 次查看(过去 30 天)
I have a lot of old data scanned from hand writen notes. It was scanned in to a .txt file, the result being one long string of words and numbers. See data sample attached "archers_fieldnotes_scan".
The data consist of a location (or the shorthand note of it), a number, its result, then the next location, number, its result....repeat.
I need to break this information down into a usable matrix, consisting of 1 column vector fot the location, 1 column vector for the numeric value, and a thrid column vector of the result.
All I have been able to do with it so far is read the .txt file in as one long string.
txt=readlines("archer_fieldnotes_scan.txt");
This is the first time I am attempting to partition something this string dependant. Any suggestions?

采纳的回答

Chunru
Chunru 2022-10-10
编辑:Chunru 2022-10-15
websave("scan.txt", "https://www.mathworks.com/matlabcentral/answers/uploaded_files/1150740/archer_fieldnotes_scan.txt")
ans = '/users/mss.system.KDDHFr/scan.txt'
%type scan.txt
s = readlines("scan.txt")
s = "northeast section ar20.63 - pos northeast sec ar20.69 - neg NE sec 20.71 - neg NE sect as 20.72 - ? southeast sec am20.70-neg SE sec am20.71 - pos"
x = regexp(s, '(\D+)(\d+\.\d+) - (pos|neg)* ', 'tokens')
x = 1×3 cell array
{["northeast section ar" "20.63" "pos"]} {["northeast sec ar" "20.69" "neg"]} {["NE sec " "20.71" "neg"]}
  3 个评论
Chunru
Chunru 2022-10-15
See above. You can read through regext, which is very powerful.
Jon
Jon 2022-10-17
Ok, cool you used the pos of neg, which is more or less common this will work and I can change the off events where it doesnt mannually. Great, thank you much.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 String Parsing 的更多信息

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by