Removing strings containing numbers

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.

 采纳的回答

Birdman
Birdman 2018-1-19
编辑:Birdman 2018-1-19
One approach:
s1="30th Birthday WORLDCUP34 WORLDCUP'34 '04";
str=strsplit(s1,' ');
result=str(cellfun(@isempty,(regexp(str,'\d+'))))

5 个评论

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 .
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.
@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"?
Ok Jan, thanks. It just takes time to get used to working with cellfun.
@Birdman Sir and @Jan Simon Sir , thanks a lot for the guidance. Yes @Jan simon sir, i meant in a single cell.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Birthdays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by