How to use cellstr() without losing whitespace character?

조회 수: 7 (최근 30일)
Michael Kainzbauer
Michael Kainzbauer 2019년 9월 22일
댓글: Abdullah Al Baki 2022년 6월 15일
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
Bruno Luong
Bruno Luong 2019년 9월 22일
The question needs to be illustrated with examples.
Michael Kainzbauer
Michael Kainzbauer 2019년 11월 8일
a = cellstr(' test ') saves {' test'}
a = {' test '} saves {'test'}
i call this inconsistent ;)
a = num2cell(' test ',2) saves {' test '} what i needed

댓글을 달려면 로그인하십시오.

채택된 답변

Bruno Luong
Bruno Luong 2019년 9월 22일
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'}

추가 답변 (2개)

madhan ravi
madhan ravi 2019년 9월 22일
Wanted = num2cell(your_char_array,2)
  댓글 수: 1
Michael Kainzbauer
Michael Kainzbauer 2019년 9월 22일
yes, seems to do what i need. thx
num2cell([' test ';'test ';' a '],2)
ans =
' test '
'test '
' a '

댓글을 달려면 로그인하십시오.


dpb
dpb 2019년 9월 22일
편집: dpb 2019년 9월 22일
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));

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

제품


릴리스

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by