How create string like this: word+number+word with number=num2str(x)

383 views (last 30 days)
Hi everyone,
how could I write a string like the following word+number+word with number=num2str(x). For example:
x=2; x_str=num2str(x); y='I have' x_str 'dogs'
Thank you for your help.

Accepted Answer

Santhana Raj
Santhana Raj on 9 May 2017
x=2;
y= ['I have' num2str(x) 'dogs'];
  6 Comments
Steven Lord
Steven Lord on 9 May 2017
If you're using a release that includes the string data type and you specify the formatSpec input to sprintf as a string rather than a char vector, you will receive a string rather than a char vector as output.
A = sprintf(string('abc %d def'), 17);
B = sprintf("abc %d def", 17); % release R2017a and later

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 9 May 2017
y = sprintf('I have %d dogs', x);
  2 Comments
Gennaro Arguzzi
Gennaro Arguzzi on 9 May 2017
Hi @Walter Roberson, y is a character vector (e.g. y=sprintf(2222) has 1x4 dimensions). My goal is to obtain a string.
Walter Roberson
Walter Roberson on 9 May 2017
MATLAB does not have a string data type before R2016b, on character vectors. It is common to put character vectors inside cell arrays, such as
{sprintf('I have %d dogs', x), 'I have no cats', sprintf('I have %d iguanas', y) }

Sign in to comment.

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!