Can I use strcat or strrep to represent 'space bar' between string?

조회 수: 13 (최근 30일)
Ara
Ara 2015년 2월 15일
편집: Thorsten 2015년 2월 16일
I have a text such as 'The image is'. I want to insert 'space bar' between font to be this --> T h e i m a g e i s
I have tried
ans = strcat(answer,'');
and
new_ans=strrep(ans2, '+', '');
but it didn't work or it cannot add space bar into text. Thank you
  댓글 수: 1
Stephen23
Stephen23 2015년 2월 15일
편집: Stephen23 2015년 2월 15일
Do not use ans as the name of your variable, as ans has a special meaning in MATLAB.

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

채택된 답변

Stephen23
Stephen23 2015년 2월 15일
편집: Stephen23 2015년 2월 15일
This will insert a space character between each character of any string:
str = 'my cat kathy';
str(2,:) = ' ';
str = str(1:end-1);
  댓글 수: 4
Ilham Hardy
Ilham Hardy 2015년 2월 16일
Anyone care to explain this witchcraft? :)
Thorsten
Thorsten 2015년 2월 16일
편집: Thorsten 2015년 2월 16일
str = 'my cat kathy';
defines str, a 1x12 array of char.
str(2,:) = ' ';
adds a 2nd row just of spaces, such that str is now a 2x12 arraw of char.
str = str(1:end-1);
converts the matrix to a vector, similar to str(:), where Matlab goes down the columns, i.e., the first letter 'm' at 1,1 is taken, then the first space at 2,1, next the second letter 'y' at 1,2, then the second space at 2,2 and so one. Because there need to be no space at the end, this final space is not used, therefor the last index is end-1. Et Voilà! Très élégante.

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

추가 답변 (0개)

카테고리

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

태그

Community Treasure Hunt

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

Start Hunting!

Translated by