How can I add a character in between two characters in specific order in a string?

3 vues (au cours des 30 derniers jours)
stephen geddes
stephen geddes le 30 Août 2018
Modifié(e) : Tiasa Ghosh le 30 Août 2018
I have a list of elements as strings. For example,
6Li2 17O2 17O C+D3 C+D3 C3 28Si+H3 13C+D3 23Na C2+H4 13C2+H2
Every time there's a number after a letter I want to add a multiplication sign. So H3 would be H*3 but 13C would remain 13C. I was thinking of using if,else statements and use isstrprop to find if it is letter then digit but not sure how to do this. Is there a better way?

Réponses (1)

Tiasa Ghosh
Tiasa Ghosh le 30 Août 2018
Modifié(e) : Tiasa Ghosh le 30 Août 2018
Maybe you could use iteration for all element of string array. First find the position pos of the number in the string with strfind. Then check if the element in pos-1 is a letter character with ~isnan. If yes, insert a * with sprintf


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