how to remove last characther from cell array of string
22 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Mederic Mainson
il 22 Set 2016
Commentato: Walter Roberson
il 22 Set 2016
Hi All, let's say i have this cell array of string:
test={'1234T'; '4567T'; '8901T'};
Is the a way to remove the last character T on every cell using this kind of command:
test=test{:}(1:end-1);
If not what is the best way to do it without loop? Cheers Medie
2 Commenti
Walter Roberson
il 22 Set 2016
It is a good way. Depending how large the array is, it is possible that regexprep might be faster on large matrices; I would need to benchmark to verify that though.
Risposta accettata
Walter Roberson
il 22 Set 2016
I have not looked at all carefully, but if you are using R2016b then I gather the new string data type has functions that can be used for this kind of thing without using a loop.
Other than that there are multiple ways. The easiest is probably
test = cellfun(@(S) S(1:end-1), test, 'Uniform', 0);
which uses an implicit loop.
You could also use
test = regexprep(test, '.$', '', 'lineanchors');
which means "replace the character right before the end of string with nothingness"
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Cell Arrays in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!