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

18 Ansichten (letzte 30 Tage)
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?

Antworten (1)

Tiasa Ghosh
Tiasa Ghosh am 30 Aug. 2018
Bearbeitet: Tiasa Ghosh am 30 Aug. 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

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by