2016-07-20 21 views

Antwort

4

Ein anderer Weg sprintf zu verwenden ist:

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

oder, je nach Kontext, könnten Sie

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

Genau das, was ich gesucht habe, Danke! – quinshi

2

Sie können, als eine Zeichenfolge.

Verwenden Sie num2str und String-Verkettung. Angenommen, Sie b ordnungsgemäß erstellt (b='skippy'):

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

Diese Verkettung Technik Räume respektieren, wird es dann entfernen. Wenn Sie bei der Beseitigung von Leerzeichen interessiert sind, verwenden strcat statt

+0

Danke für die Hilfe – quinshi

+1

@quinshi in Betracht ziehen, eine der Antworten zu akzeptieren, wenn sie Ihr Problem gelöst haben –

0

Für eine andere Alternative bevorzugen (weil ich diese Funktion nur selten benutze) gibt es strjoin:

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