Find one string within another within all cell of an array

1 visualización (últimos 30 días)
Arthur Hajaali
Arthur Hajaali el 11 de Ag. de 2016
Respondida: Pham Dang el 12 de Ag. de 2016
Hello everyone,
I have a table (800*10, this table contain various columns with specific information, in column 8 I have a series of dates each row representing a date of the format dd/mm/yyyy. These dates are not in chronological order and I wish to know of many cells belongs to the month of jan,feb,...,dec. So what I have down so far is load the full file in a table using the readtable function and then I have isolated the column 8 creating a single array (800,1). Finally, I tried to use the srtfind function as explianed in http://uk.mathworks.com/help/matlab/ref/strfind.html, but it is not working... Could anyone help me out please.
Here is the code:
formatspec = '%s%f%f%f%s%s%s%s%s%s';
file_list = readtable('file.txt','Delimiter',',','Format',formatspec);
date_column = file_list(:,3);
jan_cells_location = strfind(date_column,'01/2016');
jan_cells_number = numel(jan_cells);
  2 comentarios
Pham Dang
Pham Dang el 11 de Ag. de 2016
Your code is a little bit confused : is date_column the same variable as ships_demo_date ? If true, then, the first problem is strfind does not work on variables of class "table". Could you provide a complete minimal working example ?
You can find more information about extracting data from a table here : Access Data in a Table You will see that have used the "Parentheses" type of indexing. You should consider using the "Dot Indexing" type of indexing.
Arthur Hajaali
Arthur Hajaali el 11 de Ag. de 2016
sorry made a mistake in the code the ship_demo_date should have been date_column I have modified it. And thanks for the info that the function strfind does not apply to class "table". Does that mean that I need to load the file in a array rather a table? Or is it possible for me the extract all the row from the table which contain the segment of string "01/2016". Basically I want the program to extract and tell me the number of cells which containt a day the first month of the year 2016 01/01/2016,...,31/01/2016.

Iniciar sesión para comentar.

Respuestas (1)

Pham Dang
Pham Dang el 12 de Ag. de 2016
Please try to replace
date_column = file_list(:,3);
by
date_column = file_list.(3);

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by