Putting spaces between strings?
83 views (last 30 days)
Show older comments
I have three different strings and are putting them together in an array. The result is simply the three strings combined. However, I want to put spaces between each string. I tried doing this:
a = 'str1'
b = 'str2'
c = 'str3'
x = [a,'',b,'',c]
but that doesn't do anything so how would I put spaces then?
0 Comments
Accepted Answer
Image Analyst
on 17 Mar 2013
Edited: Image Analyst
on 17 Mar 2013
Your '' is just a null string - no space was between the quotes - so that's why no space was inserted. I really like using sprintf() for building up strings. A way using sprintf:
x = sprintf('%s %s %s', a, b, c);
Note the spaces in between the %s. That will make spaces in the final output string.
5 Comments
M. Saim Riaz
on 28 May 2016
Hi Image Analyst! I want the spaces between the characters I stored in an array using a for loop.
for j=1:5
turn(j)='t';
end
It gives this result,
turn =
tttt
How can I insert spaces between these 't's? I tried using this, but it gives error.
for j=1:5
turn(j)='t ';
end
Image Analyst
on 28 May 2016
Saim, I'm not sure why you got 4 t's. I got 5. Anyway to put a space after each t, do this:
for j=1:5
turn(j*2-1)='t';
turn(j*2)=' ';
end
turn % Display in command window.
More Answers (1)
Luke Perry
on 29 Aug 2018
Image Analyst's code is absolutely correct, but to add on, here is how to fix your original code:
a = 'str1';
b = 'str2';
c = 'str3';
x = [a,' ',b,' ',c]
x =
>>'str1 str2 str3'
notice the '' was turned into ' '. That is, a space was added between the single quotes. I use this method often when using messagebox string definition to easily read what the user will see in side the messagebox, but either answer works. I'm not entirely sure which would necessarily be more correct or efficient.
0 Comments
See Also
Categories
Find more on Characters and Strings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!