Read in only certain numbers from a txt file.
17 views (last 30 days)
John Kramer on 11 May 2021
I have a bunch of text files where i only need to extract the 11 digit numbers from the txt file. I am currently struggling to only pull those numbers out. I am able to pull out either all the data, all the numbers but not the exact numbers I want. I attached a example of what the text documents I am trying to extract from. I am basically just trying to create a cell array of the 11 digit numbers.
Scott MacKenzie on 11 May 2021
This creates a cell array of the 11-digit numbers in your file...
fileName = 'Example.txt';
n = ;
fid = fopen(fileName);
line = fgetl(fid);
if length(line) == 11
n = [n; str2double(line) ];
c = num2cell(n)
9×1 cell array
More Answers (2)
Bob Thompson on 11 May 2021
What does your code look like so far? What are you using to extract the numbers?
Off the top of my head, I recommend using something like regexp to extract the numbers. Here's a quick swag at what it would look like:
11nums = regexp('Example.txt','/D(/d/d/d/d/d/d/d/d/d/d/d)/D','tokens');
This has not been tested.
In theory it looks for an isolated set of numbers, with 11 digits.
Thomas Jensen on 11 May 2021
Unfotunatelly your input file does not follow a pattern, so your script needs to read line-by-line and check if the line is an array of characters containing 11 digits.