How to use cellstr() without losing whitespace character?

10 Ansichten (letzte 30 Tage)
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 Kommentare
Bruno Luong
Bruno Luong am 22 Sep. 2019
The question needs to be illustrated with examples.
Michael Kainzbauer
Michael Kainzbauer am 8 Nov. 2019
a = cellstr(' test ') saves {' test'}
a = {' test '} saves {'test'}
i call this inconsistent ;)
a = num2cell(' test ',2) saves {' test '} what i needed

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Bruno Luong
Bruno Luong am 22 Sep. 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'}

Weitere Antworten (2)

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

Melden Sie sich an, um zu kommentieren.


dpb
dpb am 22 Sep. 2019
Bearbeitet: dpb am 22 Sep. 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));

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Produkte


Version

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by