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

218 次查看(过去 30 天)
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.

采纳的回答

Santhana Raj
Santhana Raj 2017-5-9
x=2;
y= ['I have' num2str(x) 'dogs'];
  6 个评论
Steven Lord
Steven Lord 2017-5-9
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

请先登录,再进行评论。

更多回答(1 个)

Walter Roberson
Walter Roberson 2017-5-9
y = sprintf('I have %d dogs', x);
  2 个评论
Gennaro Arguzzi
Gennaro Arguzzi 2017-5-9
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 2017-5-9
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) }

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by