How to use cellstr() without losing whitespace character?

13 visualizaciones (últimos 30 días)
Hi,
i need cellstr NOT to delete ending whitespace. Some strings have whitespace and i need those to stay alive.
Btw it's weird that cellstr does not perform a full strtrim but only deletes ending whitespace character.
{' test '} would do the job for just 1 string, how do i perform this on hundrets without a loop?
What is the best way to do that?
thx
  2 comentarios
Bruno Luong
Bruno Luong el 22 de Sept. de 2019
The question needs to be illustrated with examples.
Michael Kainzbauer
Michael Kainzbauer el 8 de Nov. de 2019
a = cellstr(' test ') saves {' test'}
a = {' test '} saves {'test'}
i call this inconsistent ;)
a = num2cell(' test ',2) saves {' test '} what i needed

Iniciar sesión para comentar.

Respuesta aceptada

Bruno Luong
Bruno Luong el 22 de Sept. de 2019
Pay attention to the difference between the two last commands
>> c1={'1' '12' '123'}
c1 =
1×3 cell array
{'1'} {'12'} {'123'}
>> c2=char(c1)
c2 =
3×3 char array
'1 '
'12 '
'123'
>> c3=cellstr(c2)
c3 =
3×1 cell array
{'1' }
{'12' }
{'123'}
>> c4=num2cell(c2,2)
c4 =
3×1 cell array
{'1 '}
{'12 '}
{'123'}

Más respuestas (2)

madhan ravi
madhan ravi el 22 de Sept. de 2019
Wanted = num2cell(your_char_array,2)
  1 comentario
Michael Kainzbauer
Michael Kainzbauer el 22 de Sept. de 2019
yes, seems to do what i need. thx
num2cell([' test ';'test ';' a '],2)
ans =
' test '
'test '
' a '

Iniciar sesión para comentar.


dpb
dpb el 22 de Sept. de 2019
Editada: dpb el 22 de Sept. de 2019
Try the new string class...
s=string(your_char_array);
If you must end up with cellstr() array, then cast that result.
s=cellstr(string(your_char_array));

Categorías

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

Productos


Versión

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by