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

5 次查看(过去 30 天)
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?

回答(1 个)

Tiasa Ghosh
Tiasa Ghosh 2018-8-30
编辑:Tiasa Ghosh 2018-8-30
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

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by