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

1 Ansicht (letzte 30 Tage)
Ara
Ara am 15 Feb. 2015
Bearbeitet: Thorsten am 16 Feb. 2015
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 Kommentar
Stephen23
Stephen23 am 15 Feb. 2015
Bearbeitet: Stephen23 am 15 Feb. 2015
Do not use ans as the name of your variable, as ans has a special meaning in MATLAB.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Stephen23
Stephen23 am 15 Feb. 2015
Bearbeitet: Stephen23 am 15 Feb. 2015
This will insert a space character between each character of any string:
str = 'my cat kathy';
str(2,:) = ' ';
str = str(1:end-1);
  4 Kommentare
Ilham Hardy
Ilham Hardy am 16 Feb. 2015
Anyone care to explain this witchcraft? :)
Thorsten
Thorsten am 16 Feb. 2015
Bearbeitet: Thorsten am 16 Feb. 2015
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

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

Community Treasure Hunt

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

Start Hunting!

Translated by