Comment puis-je concaténer des chaînes dans un tableau de cellules avec des espaces entre elles dans MATLAB?
Je veux concaténer (rembourrage avec des espaces) les chaînes de caractères dans une cellule de tableau {'a', 'b'}
à donner une seule chaîne de 'a b'
. Comment puis-je faire dans MATLAB?
source d'informationauteur Martin08
Vous devez vous connecter pour publier un commentaire.
Vous pouvez tricher un peu, à l'aide de la matrice de cellules comme un ensemble d'argument à la fonction sprintf, puis nettoyer les espaces supplémentaires avec strtrim:
Sale, mais je l'aime...
matlab ont une fonction pour ce faire,
ref:
strjoin
http://www.mathworks.com/help/matlab/ref/strjoin.html
strjoin
Rejoindre chaînes de caractères dans la cellule de tableau en une chaîne de
Syntaxe
Ex:
Rejoindre Liste de Mots avec des Espaces blancs
Faire partie des chaînes de caractères dans une cellule de tableau de chaînes de caractères, C, avec un seul espace.
Petite amélioration (?) sur la réponse d'Alex
Vous pouvez accomplir cela en utilisant la fonction STRCAT à ajouter les blancs de tous, mais la dernière cellule de votre tableau de cellule et puis concaténer toutes les cordes en même temps:
Les deux
join
etstrjoin
sont introduits dans R2013a. Cependant, le site de mathworks surstrjoin
lit:Personnellement, j'aime Alex solution, car les anciennes versions de Matlab sont abondants dans les groupes de recherche à travers le monde.