Convert 'str' to 'number'

Hi. I have 'str' like 'P12teta4'i want write a code which take first alphabet (here P), first and second number (here 1 and 2) second word (here teta) and third number (here 4). For example: code we have: ...... .. ..... Result: a=P, b=1, c=2, d=teta, E=4. Tnx

Answers (1)

Jan
Jan on 6 Jul 2021
Edited: Jan on 6 Jul 2021
str = 'P12teta4';
a = str(1);
b = sscanf(str(2), '%d');
c = sscanf(str(3), '%d');
ind = find(isstrprop(str(4:end), 'digit'), 1);
d = str(4:2+ind);
e = sscanf(str(3+ind : end), '%d');
% This crops the trailing number:
List = textscan(str, '%c%1d%1d%[^0123456789]s%d')

1 Comment

If P be a matrix P=[5 78 9] so a(3) should show 9. But it seems a = str(1) > here is just alphabet a=P and after that is not a matrix. I want it then show that matrix.

Sign in to comment.

Categories

Find more on Functions in Help Center and File Exchange

Asked:

on 6 Jul 2021

Commented:

on 6 Jul 2021

Community Treasure Hunt

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

Start Hunting!