可以在 Matlab 中将单词和数字连接成一个字符串吗?

Possible to concatenate words and number into a single string in Matlab?

我想知道是否可以在 matlab 中将单词和数字组合成一个非空字符串。

例如:

a = 160727
b = 'skippy'       
c = 42

I want this to be written as: 

160727_skippy_42

这在 matlab 中可行吗?

你可以,作为一个字符串。

使用num2str和字符串连接。假设您正确创建了 b (b='skippy'):

s=[num2str(a), '_', b, '_' ,num2str(c)]

这种串联技术会尊重空格,然后会删除。如果您有兴趣删除任何空格,请使用 strcat 而不是

另一种方法是使用 sprintf:

s = sprintf('%d_%s_%d', a, b, c)

或者,根据上下文,您可能更喜欢

s = sprintf('%d_skippy_%d', a, c)

另一种选择(仅仅是因为我很少看到这个函数被使用)strjoin:

>> s = strjoin({num2str(a), b, num2str(c)}, '_')
s = 160727_skippy_42