How can I distribute a single sprintf input to multiple formatting operators?

33 vues (au cours des 30 derniers jours)
Fletcher Young
Fletcher Young le 20 Août 2025 à 14:07
Commenté : Stephen23 le 20 Août 2025 à 18:28
Currently, I have a setup like: sprintf('%s %s','foo','foo'). I would ideally like something more concise, like: sprintf('%s %s','foo'), with an output of 'foo foo'. Is there a clean way to do this?

Réponse acceptée

Steven Lord
Steven Lord le 20 Août 2025 à 17:30
You can specify which of the data inputs you want each "section" of the format specifier input you want to use by adding a number and $ between the % and the formatting character. In the example below, the first data input 'foo' is used twice, once in the first section of the format specifier and once in the third section. Between those two, the second section uses the second data input 42.
S = sprintf('%1$s %2$d %1$s', 'foo', 42)
S = 'foo 42 foo'

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by