add character in a certain position in character array-matlab2015b

25 vues (au cours des 30 derniers jours)
Maria K
Maria K le 16 Oct 2017
Commenté : Maria K le 16 Oct 2017
Hello! Is there anyway I can add a new character in a certain position of a character array? For example I have 'ABCD' and i want to create a new array that has 'ABCTD'. I am using Matlab 2015b so the insertAfter command won't work... Thanks on advance!

Réponse acceptée

Walter Roberson
Walter Roberson le 16 Oct 2017
For string S and insertion at position N+1 (that is, after position N), then
[S(1:N), NewText, S(N+1:end)]
There is no function provided for this purpose, but you can create one easily. You might want to consider generalizing to allow inserting a new column into a character array (the above is for a character vector), perhaps offering the special case of inserting the same character for every row if the replacement is not a column. Perhaps,
function NewCharArray = insertAfter( CharArray, Position, WhatToInsert)
NewCharArray = char( strcat( cellstr(CharArray(:,1:Position)), cellstr(WhatToInsert), cellstr(CharArray(:, Position+1:end)) ) );
  6 commentaires
Walter Roberson
Walter Roberson le 16 Oct 2017
random_rgb = colors( randi(size(colors,1)), : );
Maria K
Maria K le 16 Oct 2017
It worked perfectly. Thanks for your time!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by