partial match of 2 string vectors with different lenghts
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi everyone,
I hope you can help me. I have two 2 string arrays (str1 and str2) with different lengths. For instance,
str1= ["16-10-2017 09:20:00"; "16-10-2017 09:21:00"; "16-10-2017 09:22:00"; "16-10-2017 09:23:00"] ]
str2= ["16-10-2017 09:21:00_water"; "16-10-2017 09:23:00_coffee"] ]
I would like to:
(1) match the first 19 characters of a str2 (in this case it is 16-10-2017 09:21:00) with str1
(2) create str3 that will give me a string array like this str3=[0;"16-10-2017 09:21:00_water";0;"16-10-2017 09:23:00_coffee"] So when there is an overlap use the value in str2 in str3, when there is no overlap use 0 or NAN.
Thanks,
0 comentarios
Respuestas (1)
Rik
el 6 de Jun. de 2018
Editada: Rik
el 6 de Jun. de 2018
Something like this:
str1= ["16-10-2017 09:20:00"; "16-10-2017 09:21:00"; "16-10-2017 09:22:00"; "16-10-2017 09:23:00"];
str2= ["16-10-2017 09:21:00_water"; "16-10-2017 09:23:00_coffee"];
temp=arrayfun(@extract_date,str2);
L=ismember(str1,temp);
str3=str1;
str3(~L)=0;
str3(L)=str2;
function date=extract_date(str)
str=char(str);
date=string(str(1:19));
end
5 comentarios
Ver también
Categorías
Más información sobre Data Type Conversion 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!