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

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 Comment

Do not use ans as the name of your variable, as ans has a special meaning in MATLAB.

Sign in to comment.

 Accepted Answer

This will insert a space character between each character of any string:
str = 'my cat kathy';
str(2,:) = ' ';
str = str(1:end-1);

4 Comments

Anyone care to explain this witchcraft? :)
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.

Sign in to comment.

More Answers (0)

Categories

Asked:

Ara
on 15 Feb 2015

Edited:

on 16 Feb 2015

Community Treasure Hunt

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

Start Hunting!