MATLAB 2022b removing spaces from strings in concatenation?

7 views (last 30 days)
I just tried to plot this but the space after Nozzle Number is being removed?
for i=1:19
plot(pressures_spray_angle,spray_angle(i,:),'-*','LineWidth',2,'DisplayName',strcat('Nozzle Number ',num2str(nozzle_numbers(i))));
end
Also I tried to concatenate with a + and that did not work.
Is this a MATLAB 2022b thing? If so, please name out the software engineer who implemented it and approved it for accountability purposes :D
  2 Comments
Stephen23
Stephen23 on 29 Nov 2022
"Is this a MATLAB 2022b thing?"
No, STRCAT has always trimmed trailing whitespace from character arrays, as the last example from this 2012 archive of the documentation shows:
Every archived version of the documentation shows/explains this.

Sign in to comment.

Accepted Answer

Jonas
Jonas on 29 Nov 2022
Edited: Jonas on 29 Nov 2022
"For character array inputs, strcat removes trailing ASCII whitespace characters: space, tab, vertical tab, newline, carriage return, and form feed. For cell array and string array inputs, strcat does not remove trailing white space."
use [] or horzcat please
tx1='hello ';
tx2='world ';
number=rand();
[tx1 tx2 num2str(number)]
ans = 'hello world 0.021847'
horzcat(tx1,tx2,num2str(number))
ans = 'hello world 0.021847'
strcat(tx1,tx2,num2str(number))
ans = 'helloworld0.021847'
using + is only suported for strings not character arrays:
"hello " + "world"
ans = "hello world"
class("hello " + "world")
ans = 'string'
class(tx1)
ans = 'char'

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!