how can remove words and split in cellarray in matlab

1 visualización (últimos 30 días)
Ava persiangulf
Ava persiangulf el 10 de Jun. de 2018
Editada: Stephen23 el 10 de Jun. de 2018
for example x={'100614,Peter Beadle,131542'}; i want x= [100614,131542] my dataset have 408934 record like 'x'

Respuesta aceptada

Paolo
Paolo el 10 de Jun. de 2018
Editada: Paolo el 10 de Jun. de 2018
For input:
x = {'100614,Peter Beadle,131542'}
You can use regexp to match numerical entries in your cell. The expression below matches numbers from 0-9 for 6 times since the numbers in your cell have exactly 6 digits.
x={'100614,Peter Beadle,131542'};
[tokens,matches] = regexp(x,'[0-9]{6}','match');
x = str2double(tokens{:});
For input:
x = {'100614','Peter Beadle','131542'}
Use the following:
x = {'100614','Peter Beadle','131542'};
x = str2double(x);
x(isnan(x)) = [];
  10 comentarios
Ava persiangulf
Ava persiangulf el 10 de Jun. de 2018
Editada: Stephen23 el 10 de Jun. de 2018
that's answered for me but make change data in my dataset, for example, x=[8213430049,100573,100614] change to x=[8.213430049100573] .... but your answer was very helpful and thank you very much
Paolo
Paolo el 10 de Jun. de 2018
You are welcome. In that case, try using:
x = [8213430049,100573,100614];
x = num2str(x);
x = strsplit(x,' ');
x = str2double(strcat(x{1}(1),'.',x{1}(2:end),x{2}));
x = 8.213430049100573

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by