converting cells with strings inside cells into strings inside cells

1 visualización (últimos 30 días)
I use the following code: cellfun(@(x) regexp(x, '@(.*)@', 'tokens'), array_of_strings) The idea is to replace all the strings in the array with only the substring between the @'s. It works, the only problem is that the 'tokens' option leaves me with cells inside cells, which is inconvenient. My questions are: 1. Is there an alternative way to do it without getting cells inside cells? 2. It is interesting for me to know if there is a function that converts "cell arrays with strings inside a cell array" into simply "strings in a cell array". Thanks
  2 comentarios
Paolo
Paolo el 24 de Jul. de 2018
Can you show a sample of array_of_strings?
Micha
Micha el 24 de Jul. de 2018
array_of_strings = {'a @one@', 'a @two@', 'a@three@'};

Iniciar sesión para comentar.

Respuesta aceptada

Paolo
Paolo el 24 de Jul. de 2018
Editada: Paolo el 24 de Jul. de 2018
cellfun(@(x) regexp(x,'(?<=@)(.*)(?=@)','match'),array_of_strings)
Or
cellfun(@(x) regexp(x,'(?<=@)(.*)(?=@)','tokens','once'),array_of_strings)
  6 comentarios
Paolo
Paolo el 24 de Jul. de 2018
>>horzcat(new_array{:})
{'one'} {'two'} {'three'}
Does this help?
Micha
Micha el 24 de Jul. de 2018
Editada: Micha el 24 de Jul. de 2018
That seems to do the trick
Thanks!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Etiquetas

Productos


Versión

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by