If i have a string =
" 30th Birthday WORLDCUP34 WORLDCUP'34 '04 "
and i want the output to be only =
" Birthday " ,
then how can i go forward to achieve such by removing all expressions containing numbers with it.

 Respuesta aceptada

Birdman
Birdman el 19 de En. de 2018
Editada: Birdman el 19 de En. de 2018
One approach:
s1="30th Birthday WORLDCUP34 WORLDCUP'34 '04";
str=strsplit(s1,' ');
result=str(cellfun(@isempty,(regexp(str,'\d+'))))

5 comentarios

HIRAKJYOTI BASUMATARY
HIRAKJYOTI BASUMATARY el 19 de En. de 2018
Thanks a lot. Also is there is a way if the expression was s1="30th Birthday WORLDCUP34 WORLDCUP'34 '04 Messi"; and i want the output in a single cell as "Birthday Messi" , both in a single cell .
Birdman
Birdman el 19 de En. de 2018
Editada: Birdman el 19 de En. de 2018
s1="30th Birthday WORLDCUP34 WORLDCUP'34 '04 Messi";
str=strsplit(s1,' ');
result=strjoin(str(cellfun(@isempty,(regexp(str,'\d+')))))
Use strjoin different than my first answer.
Jan
Jan el 19 de En. de 2018
@Birdman: cellfun works faster with the builtin commands, which are specified as chars, here: cellfun('isempty', ...).
@HIRAKJYOTI BASUMATARY: Did you try Birdman's solution with your new string? It should run directly. What does this mean: "output in a single cell as "Birthday Messi" , both in a single cell"?
Birdman
Birdman el 19 de En. de 2018
Ok Jan, thanks. It just takes time to get used to working with cellfun.
HIRAKJYOTI BASUMATARY
HIRAKJYOTI BASUMATARY el 19 de En. de 2018
@Birdman Sir and @Jan Simon Sir , thanks a lot for the guidance. Yes @Jan simon sir, i meant in a single cell.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Birthdays en Centro de ayuda y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by